diff --git a/db.py b/db.py new file mode 100644 index 0000000..5e528cf --- /dev/null +++ b/db.py @@ -0,0 +1,43 @@ +# This Python file uses the following encoding: utf-8 +# filetype = ('r','d') + +import datetime +from pysqlite2 import dbapi2 as sqlite + +class dbfile: + def __init__(self,db=None): + if db !=None: + self.con = sqlite.connect("%s" % db, detect_types=sqlite.PARSE_DECLTYPES|sqlite.PARSE_COLNAMES) + self.cur = self.con.cursor() + else: + name = datetime.datetime.now() + name = "/tmp/pygtktalog%d.db" % name.microsecond + self.con = sqlite.connect("%s" % name, detect_types=sqlite.PARSE_DECLTYPES|sqlite.PARSE_COLNAMES) + self.cur = self.con.cursor() + self.createDB() + pass + def createDB(self): + """make plain new database""" + self.cur.execute("create table files(id INTEGER PRIMARY KEY AUTOINCREMENT, filename TEXT, date timestamp, size integer, type integer)") + self.cur.execute("create table files_connect(id INTEGER PRIMARY KEY AUTOINCREMENT, parent integer, child integer, depth integer)") + + def populate(self,fileobj): + """add fileobject to database""" + print "aa" + def make_tree(obj,spc,parent=0,depth=0): + """how about members?""" + self.cur.execute("insert into files(filename,date,size,type) values (?,?,?,?)", (obj.name,obj.date,obj.size,obj.filetype)) + self.cur.execute("select seq from sqlite_sequence where name='files'") + file_id = self.cur.fetchone() + self.cur.execute("insert into files_connect(parent,child,depth) values(?,?,?) ",(file_id[0], file_id[0], 0)) + parent = parent + 1 + depth = depth + 1 + print obj.name, parent, depth + for i in obj.members: + if i.filetype == "d": + print "%s[%s]" % (spc, i.name) + else: + print "%s%s" % (spc, i.name) + make_tree(i,spc+".",parent,depth) + make_tree(fileobj,".") + return ""