Initial commit
Benjamin Renard authored 10 years ago
|
1) #!/usr/bin/python
2) # -*- coding: utf-8 -*-
3)
4) import json
5) import logging
6) log = logging.getLogger(__name__)
7) import MySQLdb
8)
9) class DB(object):
10)
11) def __init__(self,host,user,pwd,db):
12) self.host = host
13) self.user = user
14) self.pwd = pwd
15) self.db = db
16) self.con = 0
17)
18) def connect(self):
19) if self.con == 0:
20) try:
21) con = MySQLdb.connect(self.host,self.user,self.pwd,self.db)
22) self.con = con
23) return True
24) except Exception, e:
25) log.fatal('Error connecting to database : %s' % e)
26) return
27)
28) def do_sql(self,sql):
29) try:
30) c=self.con.cursor()
31) c.execute(sql)
32) self.con.commit()
33) return c
34) except Exception,e:
35) log.error('Error executing request %s : %s' % (sql,e))
36) return False
37)
38) def select(self,sql):
39) ret=self.do_sql(sql)
40) if ret!=False:
41) return ret.fetchall()
42) return ret
43)
44) def login(self,email,password):
45) ret=self.select("SELECT email,name,password FROM users WHERE email='%s' AND password='%s'" % (email,password))
46) log.debug(ret)
47) if ret:
48) if len(ret)==1:
49) return {
50) 'email': ret[0][0],
51) 'name': ret[0][1]
52) }
53) elif len(ret)>=1:
54) log.warning('Duplicate user %s in database' % email)
55) elif ret==():
56) return { 'loginerror': 'Utilisateur inconnu' }
57) return { 'loginerror': 'Erreur inconnu' }
58)
|
Add subscribe method
Benjamin Renard authored 10 years ago
|
59) def subscribe(self,email,name,password):
60) ret=self.select("SELECT count(*) as count FROM users WHERE email='%s'" % (email))
61) log.debug(ret)
62) if ret[0][0]!=0:
63) return {'subscribeerror': u'Cette adresse mail est déjà associés a un compte !'}
64) else:
65) if self.do_sql("INSERT INTO users (email,name,password) VALUES ('%s','%s','%s')" % (email,name,password)):
66) return {
67) 'email': email,
68) 'name': name,
69) 'password': password
70) }
71) return {'subscribeerror': u'Une erreur est survenue durant votre inscription :('}
72)
|