mirror of
https://github.com/gryf/pygtktalog.git
synced 2025-12-17 19:40:21 +01:00
69 lines
1.5 KiB
Python
Executable File
69 lines
1.5 KiB
Python
Executable File
#!/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()
|