diff --git a/base.py b/base.py index 4828790..db9d72d 100644 --- a/base.py +++ b/base.py @@ -2,3 +2,10 @@ from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker + + +engine = create_engine("sqlite:///db/odd.db", echo=True) +Session = sessionmaker(bind=engine) +Base = declarative_base() +Base.metadata.create_all(engine) + diff --git a/db/odd.db b/db/odd.db new file mode 100644 index 0000000..d1fd6ff Binary files /dev/null and b/db/odd.db differ diff --git a/gui/page2.py b/gui/page2.py deleted file mode 100644 index c8b98d4..0000000 --- a/gui/page2.py +++ /dev/null @@ -1,83 +0,0 @@ -import wx - -class MainFramePanel(wx.Panel): - def __init__(self, parent): - wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(500, 500), - style=wx.FULLSCREEN_NOBORDER) - self.frame = parent - self.Bind(wx.EVT_PAINT, self.onPaint) - - bSizer2 = wx.BoxSizer(wx.VERTICAL) - self.imgMaxSize = 200 - - self.lbl_zag_page2 = wx.StaticText(self, wx.ID_ANY, u"Схема перекрёстка и транаспортных потоков на нём", - wx.DefaultPosition, wx.DefaultSize, 0) - self.lbl_zag_page2.Wrap(-1) - bSizer2.Add(self.lbl_zag_page2, 0, wx.ALIGN_CENTER | wx.ALL, 5) - - fgSizer2 = wx.FlexGridSizer(3, 2, 0, 0) - fgSizer2.SetFlexibleDirection(wx.BOTH) - fgSizer2.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) - - self.lbl_shema = wx.StaticText(self, wx.ID_ANY, u" Схема перекрёстка", wx.DefaultPosition, wx.DefaultSize, 0) - self.lbl_shema.Wrap(-1) - fgSizer2.Add(self.lbl_shema, 0, wx.ALL, 5) - - self.lbl_trpotok = wx.StaticText(self, wx.ID_ANY, u"Картограмма транаспортных потоков", wx.DefaultPosition, wx.DefaultSize, 0) - self.lbl_trpotok.Wrap(-1) - fgSizer2.Add(self.lbl_trpotok, 0, wx.ALL, 5) - - self.shema_perekr = wx.StaticBitmap(self, wx.ID_ANY, wx.Bitmap(u"src/shema_01.jpg", wx.BITMAP_TYPE_ANY)) - - fgSizer2.Add(self.shema_perekr, 1, wx.ALL | wx.ALIGN_RIGHT, 5) - - kartogramm_scaled = wx.Image(u"src/kartogramma_perekrestka.gif").Scale(400,500).ConvertToBitmap() - self.kartogramma = wx.StaticBitmap(self, wx.ID_ANY, kartogramm_scaled) - - - fgSizer2.Add(self.kartogramma, 1, wx.ALIGN_RIGHT | wx.EXPAND, 5) - - bSizer2.Add(fgSizer2, 1, wx.EXPAND, 5) - - self.btn_page3 = wx.Button(self, wx.ID_ANY, u"Далее", wx.DefaultPosition, wx.DefaultSize, 0) - bSizer2.Add(self.btn_page3, 0, wx.ALL | wx.ALIGN_RIGHT, 5) - - self.SetSizer(bSizer2) - self.Layout() - - # Connect Events - self.btn_page3.Bind(wx.EVT_BUTTON, self.go_page3) - - def onPaint(self, event): - dc = wx.PaintDC(self) - dc.Clear() - x, y = self.GetSize() - newx =200 - newy=200 - x = newx - y = newy - #shema_perekr = self.shema_perekr.Scale() - - # Virtual event handlers, overide them in your derived class - def go_page3(self, event): - event.Skip() - - def run_page(self): - app = wx.App() - frame = MainFrame(None) - frame.Show() - app.MainLoop() - -class MainFrame(wx.Frame): - def __init__(self, parent): - wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, - size=wx.Size(500, 500), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) - - self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) - - self.Centre(wx.BOTH) - self.Maximize(True) - panel = MainFramePanel(self) - -if __name__ == '__main__': - MainFramePanel.run_page(None) \ No newline at end of file diff --git a/gui/pages.fbp b/gui/pages.fbp deleted file mode 100644 index de33b45..0000000 --- a/gui/pages.fbp +++ /dev/null @@ -1,1945 +0,0 @@ - - - - - - - Python - 1 - source_name - 0 - 0 - res - UTF-8 - connect - pages - 1000 - none - 0 - ODD_Perekrestok - - /Users/danamir/PycharmProjects/odd-perekrestok/gui - - 1 - 1 - 1 - 1 - UI - 0 - 0 - - 0 - wxAUI_MGR_DEFAULT - - wxBOTH - - 1 - 1 - impl_virtual - - - - 0 - wxID_ANY - - - MainFrame - - 500,500 - wxDEFAULT_FRAME_STYLE - ; forward_declare - - - - - wxTAB_TRAVERSAL - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - wxAUI_MGR_DEFAULT - - - 1 - 1 - impl_virtual - - - 0 - wxID_ANY - - - MainFramePanel - - 500,500 - ; forward_declare - - - - wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bSizer1 - wxVERTICAL - none - - 5 - wxALIGN_CENTER|wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Кафедра «Организация и безопасность движения» - - 0 - - - 0 - - 1 - lbl_kaf - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALIGN_CENTER|wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Расчёт цикла светофорного регулирования на перекрёстке - - 0 - - - 0 - - 1 - lbl_NameProg - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Предстваьтесь - - 0 - - - 0 - - 1 - lbl_predstv - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND - 1 - - 2 - wxBOTH - - - 0 - - fgSizer1 - wxFLEX_GROWMODE_SPECIFIED - none - 0 - 0 - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Имя - - 0 - - - 0 - - 1 - lbl_name - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - - 0 - - 1 - inpt_name - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Фамилия - - 0 - - - 0 - - 1 - lbl_familia - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - - 0 - - 1 - inpt_familia - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Группа - - 0 - - - 0 - - 1 - lbl_group - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - - 0 - - 1 - inpt_group - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - № Зачётной книжки - - 0 - - - 0 - - 1 - lbl_zachetka - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - - 0 - - 1 - m_textCtrl5 - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND - 1 - - 2 - 0 - - gSizer1 - none - 0 - 0 - - 5 - wxALIGN_BOTTOM|wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Настройки - - 0 - - - 0 - - 1 - btn_settongs - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALIGN_BOTTOM|wxALIGN_RIGHT|wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Далее - - 0 - - - 0 - - 1 - btn_page2 - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - go_page2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - wxAUI_MGR_DEFAULT - - wxBOTH - - 1 - 1 - impl_virtual - - - - 0 - wxID_ANY - - - MyFrame4 - - 500,500 - wxDEFAULT_FRAME_STYLE - ; forward_declare - - - - - wxTAB_TRAVERSAL - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - wxAUI_MGR_DEFAULT - - - 1 - 1 - impl_virtual - - - 0 - wxID_ANY - - - MyPanel5 - - 500,500 - ; forward_declare - - - - wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bSizer2 - wxVERTICAL - none - - 5 - wxALIGN_CENTER|wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Схема перекрёстка и транаспортных потоков на нём - - 0 - - - 0 - - 1 - lbl_zag_page2 - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND - 1 - - 2 - wxBOTH - - - 0 - - fgSizer2 - wxFLEX_GROWMODE_SPECIFIED - none - 3 - 0 - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Схема перекрёстка - - 0 - - - 0 - - 1 - lbl_shema - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Транспортные потоки - - 0 - - - 0 - - 1 - lbl_trpotok - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL|wxALIGN_RIGHT - 1 - - 1 - 1 - 1 - 1 - - - - - - - Load From File; shema_01.jpg - - 1 - 0 - 1 - - 0 - 0 - Dock - 0 - Left - 1 - wxSYS_COLOUR_WINDOW - 1 - - 0 - 0 - wxID_ANY - - 0 - 200,200 - - 0 - 200,200 - 1 - m_bitmap1 - 1 - - - protected - 1 - - Fixed - 1 - 200,200 - ; forward_declare - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALIGN_RIGHT|wxEXPAND - 1 - - 1 - 1 - 1 - 1 - - - - - - - Load From File; kartogramma_perekrestka.gif - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - 200,200 - - 0 - 200,200 - 1 - m_bitmap2 - 1 - - - protected - 1 - - Fixed - 1 - 200,200 - ; forward_declare - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL|wxALIGN_RIGHT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Далее - - 0 - - - 0 - - 1 - btn_page3 - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - go_page3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gui/pages.py b/gui/pages.py deleted file mode 100644 index 22a5ffc..0000000 --- a/gui/pages.py +++ /dev/null @@ -1,187 +0,0 @@ -# -*- coding: utf-8 -*- - -########################################################################### -## Python code generated with wxFormBuilder (version Jan 25 2018) -## http://www.wxformbuilder.org/ -## -## PLEASE DO *NOT* EDIT THIS FILE! -########################################################################### - -import wx -import wx.xrc - -########################################################################### -## Class MainFrame -########################################################################### - -class MainFrame ( wx.Frame ): - - def __init__( self, parent ): - wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 500,500 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) - - self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) - - - self.Centre( wx.BOTH ) - - def __del__( self ): - pass - - -########################################################################### -## Class MainFramePanel -########################################################################### - -class MainFramePanel ( wx.Panel ): - - def __init__( self, parent ): - wx.Panel.__init__ ( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.Size( 500,500 ), style = wx.TAB_TRAVERSAL ) - - bSizer1 = wx.BoxSizer( wx.VERTICAL ) - - self.lbl_kaf = wx.StaticText( self, wx.ID_ANY, u"Кафедра «Организация и безопасность движения»", wx.DefaultPosition, wx.DefaultSize, 0 ) - self.lbl_kaf.Wrap( -1 ) - bSizer1.Add( self.lbl_kaf, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) - - self.lbl_NameProg = wx.StaticText( self, wx.ID_ANY, u"Расчёт цикла светофорного регулирования на перекрёстке\n", wx.DefaultPosition, wx.DefaultSize, 0 ) - self.lbl_NameProg.Wrap( -1 ) - bSizer1.Add( self.lbl_NameProg, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) - - self.lbl_predstv = wx.StaticText( self, wx.ID_ANY, u"Предстваьтесь", wx.DefaultPosition, wx.DefaultSize, 0 ) - self.lbl_predstv.Wrap( -1 ) - bSizer1.Add( self.lbl_predstv, 0, wx.ALL, 5 ) - - fgSizer1 = wx.FlexGridSizer( 0, 2, 0, 0 ) - fgSizer1.SetFlexibleDirection( wx.BOTH ) - fgSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) - - self.lbl_name = wx.StaticText( self, wx.ID_ANY, u"Имя", wx.DefaultPosition, wx.DefaultSize, 0 ) - self.lbl_name.Wrap( -1 ) - fgSizer1.Add( self.lbl_name, 0, wx.ALL, 5 ) - - self.inpt_name = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) - fgSizer1.Add( self.inpt_name, 0, wx.ALL, 5 ) - - self.lbl_familia = wx.StaticText( self, wx.ID_ANY, u"Фамилия", wx.DefaultPosition, wx.DefaultSize, 0 ) - self.lbl_familia.Wrap( -1 ) - fgSizer1.Add( self.lbl_familia, 0, wx.ALL, 5 ) - - self.inpt_familia = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) - fgSizer1.Add( self.inpt_familia, 0, wx.ALL, 5 ) - - self.lbl_group = wx.StaticText( self, wx.ID_ANY, u"Группа", wx.DefaultPosition, wx.DefaultSize, 0 ) - self.lbl_group.Wrap( -1 ) - fgSizer1.Add( self.lbl_group, 0, wx.ALL, 5 ) - - self.inpt_group = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) - fgSizer1.Add( self.inpt_group, 0, wx.ALL, 5 ) - - self.lbl_zachetka = wx.StaticText( self, wx.ID_ANY, u"№ Зачётной книжки", wx.DefaultPosition, wx.DefaultSize, 0 ) - self.lbl_zachetka.Wrap( -1 ) - fgSizer1.Add( self.lbl_zachetka, 0, wx.ALL, 5 ) - - self.m_textCtrl5 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) - fgSizer1.Add( self.m_textCtrl5, 0, wx.ALL, 5 ) - - - bSizer1.Add( fgSizer1, 1, wx.EXPAND, 5 ) - - gSizer1 = wx.GridSizer( 0, 2, 0, 0 ) - - self.btn_settongs = wx.Button( self, wx.ID_ANY, u"Настройки", wx.DefaultPosition, wx.DefaultSize, 0 ) - gSizer1.Add( self.btn_settongs, 0, wx.ALIGN_BOTTOM|wx.ALL, 5 ) - - self.btn_page2 = wx.Button( self, wx.ID_ANY, u"Далее", wx.DefaultPosition, wx.DefaultSize, 0 ) - gSizer1.Add( self.btn_page2, 0, wx.ALIGN_BOTTOM|wx.ALIGN_RIGHT|wx.ALL, 5 ) - - - bSizer1.Add( gSizer1, 1, wx.EXPAND, 5 ) - - - self.SetSizer( bSizer1 ) - self.Layout() - - def __del__( self ): - pass - - -########################################################################### -## Class MyFrame4 -########################################################################### - -class MyFrame4 ( wx.Frame ): - - def __init__( self, parent ): - wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 500,500 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) - - self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) - - - self.Centre( wx.BOTH ) - - def __del__( self ): - pass - - -########################################################################### -## Class MyPanel5 -########################################################################### - -class MyPanel5 ( wx.Panel ): - - def __init__( self, parent ): - wx.Panel.__init__ ( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.Size( 500,500 ), style = wx.TAB_TRAVERSAL ) - - bSizer2 = wx.BoxSizer( wx.VERTICAL ) - - self.lbl_zag_page2 = wx.StaticText( self, wx.ID_ANY, u"Схема перекрёстка и транаспортных потоков на нём", wx.DefaultPosition, wx.DefaultSize, 0 ) - self.lbl_zag_page2.Wrap( -1 ) - bSizer2.Add( self.lbl_zag_page2, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) - - fgSizer2 = wx.FlexGridSizer( 3, 2, 0, 0 ) - fgSizer2.SetFlexibleDirection( wx.BOTH ) - fgSizer2.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) - - self.lbl_shema = wx.StaticText( self, wx.ID_ANY, u" Схема перекрёстка", wx.DefaultPosition, wx.DefaultSize, 0 ) - self.lbl_shema.Wrap( -1 ) - fgSizer2.Add( self.lbl_shema, 0, wx.ALL, 5 ) - - self.lbl_trpotok = wx.StaticText( self, wx.ID_ANY, u"Транспортные потоки", wx.DefaultPosition, wx.DefaultSize, 0 ) - self.lbl_trpotok.Wrap( -1 ) - fgSizer2.Add( self.lbl_trpotok, 0, wx.ALL, 5 ) - - self.m_bitmap1 = wx.StaticBitmap( self, wx.ID_ANY, wx.Bitmap( u"../../odd_perekr/shema_01.jpg", wx.BITMAP_TYPE_ANY ), wx.DefaultPosition, wx.Size( 200,200 ), 0 ) - self.m_bitmap1.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) ) - self.m_bitmap1.SetMinSize( wx.Size( 200,200 ) ) - self.m_bitmap1.SetMaxSize( wx.Size( 200,200 ) ) - - fgSizer2.Add( self.m_bitmap1, 1, wx.ALL|wx.ALIGN_RIGHT, 5 ) - - self.m_bitmap2 = wx.StaticBitmap( self, wx.ID_ANY, wx.Bitmap( u"../../odd_perekr/kartogramma_perekrestka.gif", wx.BITMAP_TYPE_ANY ), wx.DefaultPosition, wx.Size( 200,200 ), 0 ) - self.m_bitmap2.SetMinSize( wx.Size( 200,200 ) ) - self.m_bitmap2.SetMaxSize( wx.Size( 200,200 ) ) - - fgSizer2.Add( self.m_bitmap2, 1, wx.ALIGN_RIGHT|wx.EXPAND, 5 ) - - - bSizer2.Add( fgSizer2, 1, wx.EXPAND, 5 ) - - self.btn_page3 = wx.Button( self, wx.ID_ANY, u"Далее", wx.DefaultPosition, wx.DefaultSize, 0 ) - bSizer2.Add( self.btn_page3, 0, wx.ALL|wx.ALIGN_RIGHT, 5 ) - - - self.SetSizer( bSizer2 ) - self.Layout() - - # Connect Events - self.btn_page3.Bind( wx.EVT_BUTTON, self.go_page3 ) - - def __del__( self ): - pass - - - # Virtual event handlers, overide them in your derived class - def go_page3( self, event ): - event.Skip() - - diff --git a/main.py b/main.py index cc62100..df71599 100644 --- a/main.py +++ b/main.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- import wx -from models import Student, Session +from models import Student +from sqlalchemy import exists +from base import Session - -new_session = Session() class MainFramePanel(wx.Panel): def __init__(self, parent): wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(500, 500), @@ -81,12 +81,9 @@ class MainFramePanel(wx.Panel): def go_page2(self, event): - from gui import page2 - - values = [] name = self.inpt_name.GetValue() name = name.replace(' ', '') - print(name) + familia = self.inpt_familia.GetValue() if len(familia) == 0: @@ -103,17 +100,16 @@ class MainFramePanel(wx.Panel): self.empty_pole() return - fio = str(familia) + ' ' + str(name) - - student = Student(fname=fio, group=group, zach_number=zach_number) - new_session.add(student) - new_session.commit() - - - self.frame.Hide() - page2.MainFramePanel.run_page(self) - + fio = str(familia).lower() + ' ' + str(name).lower() + new_session = Session() + if new_session.query(exists().where(Student.fname==fio). + where(Student.group==group).where(Student.zach_number==zach_number)).scalar(): + print("ЗАГРУЖАЮ ВАШЕ ЗАДАНИЕ") + else: + print("пора занести вас в базу и придумать для вас задание") + student = Student(fname=fio, group=group, zach_number=zach_number) + new_session.add(student) class MainFrame(wx.Frame): def __init__(self, parent): diff --git a/models.py b/models.py index e1e9f9f..0025ddd 100644 --- a/models.py +++ b/models.py @@ -1,12 +1,6 @@ from sqlalchemy import Column, Integer, String -from sqlalchemy.orm import relationship -from sqlalchemy import create_engine -from sqlalchemy.ext.declarative import declarative_base -from sqlalchemy.orm import sessionmaker +from base import Base -engine = create_engine("sqlite:////odd-perekrestok.db", echo=True) -Session = sessionmaker(bind=engine) -Base = declarative_base() class Student(Base): __tablename__ = 'Student' diff --git a/src/kartogramma_perekrestka.gif b/src/kartogramma_perekrestka.gif deleted file mode 100644 index f83fa2b..0000000 Binary files a/src/kartogramma_perekrestka.gif and /dev/null differ diff --git a/src/shema_01.jpg b/src/shema_01.jpg deleted file mode 100644 index 893f8cc..0000000 Binary files a/src/shema_01.jpg and /dev/null differ