Commit 3689b5ec90dfd3651d49726826391e630965dd95

Few fixes

  - Introduced static methods to get the object
  - Split into seperate files
database.py
(0 / 100)
  
1from flask import Flask
2from flask.ext.sqlalchemy import SQLAlchemy
3from datetime import datetime
4
5app = Flask(__name__)
6app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
7db = SQLAlchemy(app)
8
9class User(db.Model):
10 id = db.Column(db.Integer, primary_key=True)
11 username = db.Column(db.String(80), unique=True)
12 email = db.Column(db.String(120))
13 memberships = db.relationship('Membership', backref='user', lazy='dynamic')
14
15 def __init__(self, username, email):
16 self.username = username
17 self.email = email
18
19 def findrow(self, email): #Query record by email
20 self.email = email
21 tofind = User.query.filter_by(email=email).first()
22 return tofind
23
24 def findrow_name(self, username): #Query record by username
25 self.username = username
26 tofind = User.query.filter_by(username=username).first()
27 return tofind
28
29 def create_row(self, tocreate): #To create record
30 self.tocreate = tocreate
31 db.session.add(tocreate)
32 db.session.commit()
33
34 def del_row(self, todel): # To delete a record
35 self.todel = todel
36 db.session.delete(todel)
37 db.session.commit()
38
39
40
41 #def update_username(self, email, newusername): # to update Username column
42 # self.newusername = newusername
43 # self.email = email
44 # toupdate = self.findrow(email)
45 #toupdate.username = newusername
46 # db.session.add(toupdate)
47 #db.session.commit()
48
49 def __repr__(self):
50 return '<User %r %r>' % (self.username, self.email)
51
52
53class Group(db.Model):
54 id = db.Column(db.Integer, primary_key=True)
55 gname = db.Column(db.String(80), unique=True)
56 memberships = db.relationship('Membership', backref='group', lazy='dynamic')
57
58 def __init__(self, gname):
59 self.gname = gname
60
61 def createrow(self, tocreate): #To create record
62 self.tocreate = tocreate
63 db.session.add(tocreate)
64 db.session.commit()
65
66 def delrow(self, id): # To delete a record
67 db.session.delete(id)
68 db.session.commit()
69
70 def findrowname(self, gname): #Query record by Group name
71 self.gname = gname
72 tofind = User.query.filter_by(gname=gname).first()
73 return tofind
74
75 def __repr__(self):
76 return '<Group %r>' % self.gname
77
78class Membership(db.Model):
79 id = db.Column(db.Integer, primary_key=True)
80 uid = db.Column(db.Integer, db.ForeignKey('user.id'))
81 gid = db.Column(db.Integer, db.ForeignKey('group.id'))
82 #timecreated = db.Column(db.DateTime)
83
84 def __init__(self, uid, gid):
85 self.uid = uid
86 self.gid = gid
87 #self.timecreated = timecreated
88
89 def createrow(self, tocreate): #To create record
90 self.tocreate = tocreate
91 db.session.add(tocreate)
92 db.session.commit()
93
94 def delrow(self, id): # To delete a record
95 todel = User.query.get(id)
96 db.session.delete(todel)
97 db.session.commit()
98
99 def __repr__(self):
100 return'<Membership %d>' % self.uid
group.py
(32 / 0)
  
1# -*- coding utf-8 -*-
2
3
4from flask.ext.sqlalchemy import SQLAlchemy
5from datetime import datetime
6
7db = SQLAlchemy()
8
9class Group(db.Model):
10 id = db.Column(db.Integer, primary_key=True)
11 gname = db.Column(db.String(80), unique=True)
12 memberships = db.relationship('Membership', backref='group', lazy='dynamic')
13
14 def __init__(self, gname):
15 self.gname = gname
16
17 def createrow(self, tocreate): #To create record
18 self.tocreate = tocreate
19 db.session.add(tocreate)
20 db.session.commit()
21
22 def delrow(self, id): # To delete a record
23 db.session.delete(id)
24 db.session.commit()
25
26 def findrowname(self, gname): #Query record by Group name
27 self.gname = gname
28 tofind = User.query.filter_by(gname=gname).first()
29 return tofind
30
31 def __repr__(self):
32 return '<Group %r>' % self.gname
  
1# -*- coding utf-8 -*-
2
3
4from flask.ext.sqlalchemy import SQLAlchemy
5from datetime import datetime
6
7db = SQLAlchemy()
8
9class Membership(db.Model):
10 id = db.Column(db.Integer, primary_key=True)
11 uid = db.Column(db.Integer, db.ForeignKey('user.id'))
12 gid = db.Column(db.Integer, db.ForeignKey('group.id'))
13 #timecreated = db.Column(db.DateTime)
14
15 def __init__(self, uid, gid):
16 self.uid = uid
17 self.gid = gid
18 #self.timecreated = timecreated
19
20 def createrow(self, tocreate): #To create record
21 self.tocreate = tocreate
22 db.session.add(tocreate)
23 db.session.commit()
24
25 def delrow(self, id): # To delete a record
26 todel = User.query.get(id)
27 db.session.delete(todel)
28 db.session.commit()
29
30 def __repr__(self):
31 return'<Membership %d>' % self.uid
user.py
(52 / 0)
  
1
2# -*- coding utf-8 -*-
3
4
5from flask.ext.sqlalchemy import SQLAlchemy
6from datetime import datetime
7
8db = SQLAlchemy()
9
10class User(db.Model):
11 id = db.Column(db.Integer, primary_key=True)
12 username = db.Column(db.String(80))
13 email = db.Column(db.String(120), unique=True)
14 memberships = db.relationship('Membership', backref='user', lazy='dynamic')
15
16 def __init__(self, username, email):
17 self.username = username
18 self.email = email
19
20 @staticmethod
21 def getById(id):
22 return User.query.get(id)
23
24 @staticmethod
25 def getByEmail(email): #Query record by email
26 tofind = User.query.filter_by(email=email).first()
27 return tofind
28
29 @staticmethod
30 def getByName(username): #Query record by username
31 tofind = User.query.filter_by(username=username).first()
32 return tofind
33
34 def persist(self): #To create record
35 db.session.add(self)
36 db.session.commit()
37
38 def delete(self): # To delete a record
39 db.session.delete(self)
40 db.session.commit()
41
42
43 #def update_username(self, email, newusername): # to update Username column
44 # self.newusername = newusername
45 # self.email = email
46 # toupdate = self.findrow(email)
47 #toupdate.username = newusername
48 # db.session.add(toupdate)
49 #db.session.commit()
50
51 def __repr__(self):
52 return '<User %r %r>' % (self.username, self.email)