Add finduser -1 and adduser -v flags
[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 raw = open("request-approval.txt").read()
23
24 single = 0
25 opts, args = getopt.getopt(sys.argv[1:], "1")
26 for o,a in opts:
27     if o == '-1':
28         single = 1
29     else:
30         print __doc__
31         raise SystemExit
32
33 # Get dict of matching users
34 for email in args:
35     q = ('SELECT users.uid,email,reply,name,count(log.uid) FROM users'
36             ' LEFT JOIN log ON log.uid = users.uid'
37             ' WHERE email like %s GROUP BY email' )
38     pat = '%' + email + '%'
39     cursor.execute(q, (pat,))
40     for row in cursor:
41         uid,email,reply,name,count = row
42         if reply == None:
43             reply = '-'
44         if single:
45             print email
46         else:
47             print '%d, %s, %s, %d, "%s"' % (uid, email, reply, count, name)