1
0
mirror of https://github.com/gryf/pygtktalog.git synced 2025-12-17 11:30:19 +01:00
Files
pygtktalog/db.py

44 lines
1.9 KiB
Python

# 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 ""