--- a/database.py +++ /dev/null @@ -1,101 +1 @@ -from flask import Flask -from flask.ext.sqlalchemy import SQLAlchemy -from datetime import datetime - -app = Flask(__name__) -app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db' -db = SQLAlchemy(app) - -class User(db.Model): - id = db.Column(db.Integer, primary_key=True) - username = db.Column(db.String(80), unique=True) - email = db.Column(db.String(120)) - memberships = db.relationship('Membership', backref='user', lazy='dynamic') - - def __init__(self, username, email): - self.username = username - self.email = email - - def findrow(self, email): #Query record by email - self.email = email - tofind = User.query.filter_by(email=email).first() - return tofind - - def findrow_name(self, username): #Query record by username - self.username = username - tofind = User.query.filter_by(username=username).first() - return tofind - - def create_row(self, tocreate): #To create record - self.tocreate = tocreate - db.session.add(tocreate) - db.session.commit() - - def del_row(self, todel): # To delete a record - self.todel = todel - db.session.delete(todel) - db.session.commit() - - - - #def update_username(self, email, newusername): # to update Username column - # self.newusername = newusername - # self.email = email - # toupdate = self.findrow(email) - #toupdate.username = newusername - # db.session.add(toupdate) - #db.session.commit() - - def __repr__(self): - return '' % (self.username, self.email) - - -class Group(db.Model): - id = db.Column(db.Integer, primary_key=True) - gname = db.Column(db.String(80), unique=True) - memberships = db.relationship('Membership', backref='group', lazy='dynamic') - - def __init__(self, gname): - self.gname = gname - - def createrow(self, tocreate): #To create record - self.tocreate = tocreate - db.session.add(tocreate) - db.session.commit() - - def delrow(self, id): # To delete a record - db.session.delete(id) - db.session.commit() - - def findrowname(self, gname): #Query record by Group name - self.gname = gname - tofind = User.query.filter_by(gname=gname).first() - return tofind - - def __repr__(self): - return '' % self.gname - -class Membership(db.Model): - id = db.Column(db.Integer, primary_key=True) - uid = db.Column(db.Integer, db.ForeignKey('user.id')) - gid = db.Column(db.Integer, db.ForeignKey('group.id')) - #timecreated = db.Column(db.DateTime) - - def __init__(self, uid, gid): - self.uid = uid - self.gid = gid - #self.timecreated = timecreated - - def createrow(self, tocreate): #To create record - self.tocreate = tocreate - db.session.add(tocreate) - db.session.commit() - - def delrow(self, id): # To delete a record - todel = User.query.get(id) - db.session.delete(todel) - db.session.commit() - - def __repr__(self): - return'' % self.uid --- /dev/null +++ b/group.py @@ -1 +1,33 @@ +# -*- coding utf-8 -*- + + +from flask.ext.sqlalchemy import SQLAlchemy +from datetime import datetime + +db = SQLAlchemy() + +class Group(db.Model): + id = db.Column(db.Integer, primary_key=True) + gname = db.Column(db.String(80), unique=True) + memberships = db.relationship('Membership', backref='group', lazy='dynamic') + + def __init__(self, gname): + self.gname = gname + + def createrow(self, tocreate): #To create record + self.tocreate = tocreate + db.session.add(tocreate) + db.session.commit() + + def delrow(self, id): # To delete a record + db.session.delete(id) + db.session.commit() + + def findrowname(self, gname): #Query record by Group name + self.gname = gname + tofind = User.query.filter_by(gname=gname).first() + return tofind + + def __repr__(self): + return '' % self.gname --- /dev/null +++ b/membership.py @@ -1 +1,32 @@ +# -*- coding utf-8 -*- + + +from flask.ext.sqlalchemy import SQLAlchemy +from datetime import datetime + +db = SQLAlchemy() + +class Membership(db.Model): + id = db.Column(db.Integer, primary_key=True) + uid = db.Column(db.Integer, db.ForeignKey('user.id')) + gid = db.Column(db.Integer, db.ForeignKey('group.id')) + #timecreated = db.Column(db.DateTime) + + def __init__(self, uid, gid): + self.uid = uid + self.gid = gid + #self.timecreated = timecreated + + def createrow(self, tocreate): #To create record + self.tocreate = tocreate + db.session.add(tocreate) + db.session.commit() + + def delrow(self, id): # To delete a record + todel = User.query.get(id) + db.session.delete(todel) + db.session.commit() + + def __repr__(self): + return'' % self.uid --- /dev/null +++ b/user.py @@ -1 +1,53 @@ + +# -*- coding utf-8 -*- + + +from flask.ext.sqlalchemy import SQLAlchemy +from datetime import datetime + +db = SQLAlchemy() + +class User(db.Model): + id = db.Column(db.Integer, primary_key=True) + username = db.Column(db.String(80)) + email = db.Column(db.String(120), unique=True) + memberships = db.relationship('Membership', backref='user', lazy='dynamic') + + def __init__(self, username, email): + self.username = username + self.email = email + + @staticmethod + def getById(id): + return User.query.get(id) + + @staticmethod + def getByEmail(email): #Query record by email + tofind = User.query.filter_by(email=email).first() + return tofind + + @staticmethod + def getByName(username): #Query record by username + tofind = User.query.filter_by(username=username).first() + return tofind + + def persist(self): #To create record + db.session.add(self) + db.session.commit() + + def delete(self): # To delete a record + db.session.delete(self) + db.session.commit() + + + #def update_username(self, email, newusername): # to update Username column + # self.newusername = newusername + # self.email = email + # toupdate = self.findrow(email) + #toupdate.username = newusername + # db.session.add(toupdate) + #db.session.commit() + + def __repr__(self): + return '' % (self.username, self.email)