From d3c4cab0c1d6efa899ef706e5d154ec71cee8a09 Mon Sep 17 00:00:00 2001 From: gryf Date: Mon, 4 Dec 2006 17:39:14 +0000 Subject: [PATCH] * Functions and object for talk with database. --- db.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 db.py 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 ""