diff --git a/.idea/SQLAlchemy.iml b/.idea/SQLAlchemy.iml index 120f2a5..8cd72c9 100644 --- a/.idea/SQLAlchemy.iml +++ b/.idea/SQLAlchemy.iml @@ -2,7 +2,7 @@ - + diff --git a/.idea/misc.xml b/.idea/misc.xml index 7615bf5..4774420 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -10,5 +10,5 @@ - + \ No newline at end of file diff --git a/database.db b/database.db index 52c31cc..d51def7 100644 Binary files a/database.db and b/database.db differ diff --git a/databases.py b/databases.py index d3faade..4959394 100644 --- a/databases.py +++ b/databases.py @@ -4,11 +4,13 @@ from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String from sqlalchemy.orm import sessionmaker +import datetime engine = create_engine('sqlite:///database.db', echo=False) Base = declarative_base() + class User(Base): __tablename__ = 'users' @@ -16,25 +18,23 @@ class User(Base): name = Column(String) fullname = Column(String) password = Column(String) + sign_up = Column(sqlalchemy.DATETIME) def __repr__(self): return "" % ( self.name, self.fullname, self.password) +""" +Base.metadata.create_all(engine) -#Base.metadata.create_all(engine) - - -#ed_user = User(name='ed', fullname='Ed Jones', password='edspassword') -#Session = sessionmaker() -#Session.configure(bind=engine) -#session = Session() -#session.add(ed_user) +Session = sessionmaker() +Session.configure(bind=engine) +session = Session() +session.add_all([User(name='wendy', fullname='Wendy Williams', password='foobar', sign_up=datetime.datetime.now()), + User(name='mary', fullname='Mary Contrary', password='xxg527', sign_up=datetime.datetime.now()), + User(name='fred', fullname='Fred Flinstone', password='blah', sign_up=datetime.datetime.now())]) +session.commit() -#session.add_all([User(name='wendy', fullname='Wendy Williams', password='foobar'), -# User(name='mary', fullname='Mary Contrary', password='xxg527'), -# User(name='fred', fullname='Fred Flinstone', password='blah')]) -# #ed_user.password = 'f8s7ccs' #session.dirty @@ -65,4 +65,5 @@ def __repr__(self): updater = session.query(User).filter_by(name='ed').first() updater.name='edward' -session.commit() \ No newline at end of file +session.commit() +""" \ No newline at end of file diff --git a/times.py b/times.py new file mode 100644 index 0000000..7517f66 --- /dev/null +++ b/times.py @@ -0,0 +1,80 @@ +from databases import User +import sqlalchemy +import sqlite3 +from sqlalchemy import create_engine +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy import Column, Integer, String +from sqlalchemy.orm import sessionmaker +import datetime +from gui import Time +import wx + + +def _pydate2wxdate(date): + import datetime + assert isinstance(date, (datetime.datetime, datetime.date)) + tt = date.timetuple() + dmy = (tt[2], tt[1]-1, tt[0]) + return wx.DateTimeFromDMY(*dmy) + +def _wxdate2pydate(date): + import datetime + assert isinstance(date, wx.DateTime) + if date.IsValid(): + ymd = map(int, date.FormatISODate().split('-')) + return datetime.date(*ymd) + else: + return None + + +engine= create_engine('sqlite:///database.db', echo=True) +Session = sessionmaker() +Session.configure(bind = engine) +session = Session() +""" +date_change = session.query(User).filter_by(name = 'wendy').first() +print "before %s" % date_change.sign_up +date_change.sign_up = datetime.datetime.strptime('2030-04-04', '%Y-%m-%d') +session.commit() +""" +engine= create_engine('sqlite:///database.db', echo=True) +Session = sessionmaker() +Session.configure(bind = engine) +session = Session() +date_change1 = session.query(User).filter_by(name = 'wendy').first() +print "after %s" % date_change1.sign_up + + +class TimeTest(Time): + def __init__(self, parent): + Time.__init__(self, parent) + engine = create_engine('sqlite:///database.db', echo=True) + Session = sessionmaker() + Session.configure(bind=engine) + session = Session() + date_change = session.query(User).filter_by(name='wendy').first() + self.m_datePicker1.SetValue(_pydate2wxdate(date_change.sign_up)) + + """ + new_time = _wxdate2pydate(self.m_datePicker1.GetValue()) + print "New Time =%s." % new_time + print type(new_time) + engine = create_engine('sqlite:///database.db', echo=True) + Session = sessionmaker() + Session.configure(bind=engine) + session = Session() + date_change = session.query(User).filter_by(name='wendy').first() + date_change.sign_up = new_time + session.commit() +""" + + + + + +if __name__ == '__main__': + app = wx.App(0) + frame = TimeTest(None) + frame.Centre() + frame.Show() + app.MainLoop() \ No newline at end of file