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