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