From fe0b66f1ef6a8024977ff91e602946c0ff02e5fb Mon Sep 17 00:00:00 2001 From: Roman Dobosz Date: Wed, 31 Aug 2016 21:59:49 +0200 Subject: [PATCH] WIP: adding gtk2 interface using pygtk --- scripts/gtktalog.py | 68 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 scripts/gtktalog.py diff --git a/scripts/gtktalog.py b/scripts/gtktalog.py new file mode 100755 index 0000000..d7f3842 --- /dev/null +++ b/scripts/gtktalog.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python +""" + Project: pyGTKtalog + Description: Main gui file launcher + Type: UI + Author: Roman 'gryf' Dobosz, gryf73@gmail.com + Created: 2016-08-19 +""" +import sys +import tempfile +import os + +from pygtktalog.dbobjects import File, Config +from pygtktalog.dbcommon import connect, Session +from pygtktalog.gtk2 import gui + + +class App(object): + """Main app class""" + + def __init__(self, dbname): + """Initialze""" + self._dbname = None + self.sess = Session() + + if dbname: + self._dbname = dbname + self.engine = connect(dbname) + else: + self._create_tmp_db() + + self.root = None + self._dbname = dbname + + def _create_tmp_db(self): + """Create temporatry db, untill user decide to save it""" + fdsc, self._tmpdb = tempfile.mkstemp() + os.close(fdsc) + self.engine = connect(self._tmpdb) + + self.root = File() + self.root.id = 1 + self.root.filename = 'root' + self.root.size = 0 + self.root.source = 0 + self.root.type = 0 + self.root.parent_id = 1 + + config = Config() + config.key = "image_path" + config.value = ":same_as_db:" + + self.sess.add(self.root) + self.sess.add(config) + self.sess.commit() + + def run(self): + """Initialize gui""" + gui.run() + + +def main(): + db = sys.argv if len(sys.argv) == 2 else None + app = App(db) + app.run() + +if __name__ == "__main__": + main()