Some cleanups
[omc-tools.git] / finduser
1 #! /usr/bin/env python
2 """finduser [flags] pattern...
3
4 Flags:
5     -1   Print just email
6
7 Arguments is a list of SQL paterns (will get wrapped in wildcards, %),
8 by default display full information as CSV.
9 """
10
11 import mysql.connector
12 import datetime, os, re, subprocess, sys, string, random
13 import getopt
14
15 dbconfig = {
16         'user': 'licensereader',
17         'password': open('ropass.txt').read().strip(),
18         'database': 'license'
19         }
20 conn = mysql.connector.connect(**dbconfig)
21 cursor = conn.cursor()
22
23 single = 0
24 opts, args = getopt.getopt(sys.argv[1:], "1")
25 for o,a in opts:
26     if o == '-1':
27         single = 1
28     else:
29         print __doc__
30         raise SystemExit
31
32 q = ('SELECT users.uid,email,reply,name,count(log.uid) FROM users'
33         ' LEFT JOIN log ON log.uid = users.uid'
34         ' WHERE email like %s GROUP BY email' )
35 for email in args:
36     pat = '%' + email + '%'
37     cursor.execute(q, (pat,))
38     for row in cursor:
39         uid,email,reply,name,count = row
40         if reply == None:
41             reply = '-'
42         if single:
43             print email
44         else:
45             print '%d, %s, %s, %d, "%s"' % (uid, email, reply, count, name)