~azzar1/unity/add-show-desktop-key

25 by drtomc
A bit more work on the userdb stuff.
1
import pg
2
3
def getCredentials(db, login):
4
    cred = {}
5
6
    res = db.query('SELECT users.nick FROM users WHERE users.login=\'' + login + '\'').dictresult()
7
    if len(res) <> 1:
8
        return None
9
    cred['nick'] = res[0]['nick']
10
11
    res = db.query('SELECT groupid FROM group_members WHERE login=\'' + login + '\'').dictresult()
12
    cred['groups'] = map(lambda x: x.get('groupid'), res)
13
14
    res = db.query('SELECT role FROM roles WHERE login=\'' + login + '\'').dictresult()
15
    if len(res) <> 1:
16
        return None
17
    cred['role'] = res[0]['role']
18
19
    return cred
20
21
def contains(m, l):
22
    for i in l:
23
        if m == i:
24
            return True
25
    return False
26
27
db = pg.connect('tom', 'localhost', 5432, None, None, 'tom', 'sh0r3ham')
28
c = getCredentials(db, 'conway')
29
30
if c['role'] != 'student' or contains('2007-INFO10001-321', c['groups']):
31
    print c['nick'] + ' may view files for group \'2007-INFO10001-321\'.'
32