mirror of
https://github.com/gryf/pygtktalog.git
synced 2025-12-17 19:40:21 +01:00
WIP: adding gtk2 interface using pygtk
This commit is contained in:
68
scripts/gtktalog.py
Executable file
68
scripts/gtktalog.py
Executable file
@@ -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()
|
||||||
Reference in New Issue
Block a user