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

« back to all changes in this revision

Viewing changes to userdb/query.py

  • Committer: chadnickbok
  • Date: 2009-01-22 02:14:14 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:1173
Fixes Issue #14

When uploading files, students will now be shown an
error message if there upload would replace already existing
files.

This upload will not be performed until it will not clobber
any old files.

Note that there is currently a way to change this behaviour in
the code in action.py, to allow files to be overwritten. However
there is no way this flag can be set through the browser interface
(yet).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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