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
9 Base = declarative_base()
10 metadata = Base.metadata
13 __tablename__ = 'test'
15 id = Column(Integer, primary_key=True)
16 test = Column(String(128))
17 atime = Column(DateTime(), nullable=False, server_default=text('current_timestamp'))
19 def __init__(self, test):
23 __tablename__ = 'users'
25 name = Column(String(60), primary_key=True)
26 password = Column(String(128))
28 def __init__(self, name, password):
29 self.name = unicode(name)
30 self.set_password(password)
32 def set_password(self, password):
33 self.password = unicode(sha(password).hexdigest())
35 def auth(self, password):
36 return self.password == sha(password).hexdigest()
38 def __unicode__(self):
39 return '<User "%s">' % self.name
41 def connect(database=config.DB):
42 db = create_engine(database, echo=False)
43 session = scoped_session(sessionmaker(bind=db))
46 def create(database=config.DB):
47 db = create_engine(database, echo=False)
48 metadata.create_all(db)
50 if __name__ == '__main__':