1 from sqlalchemy import *
2 from sqlalchemy.ext.declarative import declarative_base
3 from sqlalchemy.orm import sessionmaker, scoped_session
5 from hashlib import sha256 as sha
7 Base = declarative_base()
8 metadata = Base.metadata
11 __tablename__ = 'test'
13 id = Column(Integer, primary_key=True)
14 test = Column(String(128))
15 atime = Column(DateTime(), nullable=False, server_default=text('current_timestamp'))
17 def __init__(self, test):
21 __tablename__ = 'users'
23 name = Column(String(60), primary_key=True)
24 password = Column(String(128))
26 def __init__(self, name, password):
27 self.name = unicode(name)
28 self.password = unicode(sha(password).hexdigest())
30 def auth(self, password):
31 return self.password == sha(password).hexdigest()
33 def __unicode__(self):
34 return '<User "%s">' % self.name
36 def connect(database='sqlite:///database.sqlite'):
37 db = create_engine(database, echo=False)
38 session = scoped_session(sessionmaker(bind=db))
41 def create(database='sqlite:///database.sqlite'):
42 db = create_engine(database, echo=False)
43 metadata.create_all(db)
45 if __name__ == '__main__':