Author: dmeyer
Date: Tue Oct 25 19:57:28 2005
New Revision: 880
Modified:
trunk/vfs/src/mediadb.py
Log:
update to new db
Modified: trunk/vfs/src/mediadb.py
==============================================================================
--- trunk/vfs/src/mediadb.py (original)
+++ trunk/vfs/src/mediadb.py Tue Oct 25 19:57:28 2005
@@ -19,8 +19,10 @@
# True for _parse
def update(self):
+ print 'start update'
for i in self:
i._parse()
+ print 'end update'
def __str__(self):
@@ -128,7 +130,7 @@
self.db.update_object((type, id), **attributes)
self.data.update(attributes)
else:
- self.data = self.db.add_object((type, fname), parent=parent,
**attributes)
+ self.data = self.db.add_object(type, name=fname, parent=parent,
**attributes)
self.data['url'] = 'file:' + path
return True
@@ -195,10 +197,10 @@
self._parse()
if self.data['type'] != 'dir':
- return self.db.query_normalized(parent = self.__id__())
+ return self.db.query(parent = self.__id__())
dirname = os.path.normpath(self.data['url'][5:])
- files = self.db.query_normalized(parent = ("dir", self.data["id"]))
+ files = self.db.query(parent = ("dir", self.data["id"]))
fs_listing = os.listdir(dirname)
# TODO: add OVERLAY_DIR support
@@ -234,36 +236,48 @@
Database.__init__(self, dbdir + '/db')
- self.register_object_type_attrs("file", ())
-
- self.register_object_type_attrs("video", (
- ("title", unicode, ATTR_KEYWORDS),
- ("width", int, ATTR_SIMPLE),
- ("height", int, ATTR_SIMPLE),
- ("length", int, ATTR_SIMPLE)))
-
- self.register_object_type_attrs("audio", (
- ("title", unicode, ATTR_KEYWORDS),
- ("artist", unicode, ATTR_KEYWORDS | ATTR_INDEXED),
- ("album", unicode, ATTR_KEYWORDS),
- ("genre", unicode, ATTR_INDEXED),
- ("samplerate", int, ATTR_SIMPLE),
- ("length", int, ATTR_SIMPLE),
- ("bitrate", int, ATTR_SIMPLE),
- ("trackno", int, ATTR_SIMPLE)))
-
- self.register_object_type_attrs("image", (
- ("width", int, ATTR_SEARCHABLE),
- ("height", int, ATTR_SEARCHABLE),
- ("date", int, ATTR_SEARCHABLE)))
+ self.register_object_type_attrs("dir",
+ name = (str, ATTR_KEYWORDS),
+ mtime = (int, ATTR_SIMPLE))
+
+ self.register_object_type_attrs("file",
+ name = (str, ATTR_KEYWORDS),
+ mtime = (int, ATTR_SIMPLE))
+
+ self.register_object_type_attrs("video",
+ name = (str, ATTR_KEYWORDS),
+ mtime = (int, ATTR_SIMPLE),
+ title = (unicode, ATTR_KEYWORDS),
+ width = (int, ATTR_SIMPLE),
+ height = (int, ATTR_SIMPLE),
+ length = (int, ATTR_SIMPLE))
+
+ self.register_object_type_attrs("audio",
+ name = (str, ATTR_KEYWORDS),
+ mtime = (int, ATTR_SIMPLE),
+ title = (unicode, ATTR_KEYWORDS),
+ artist = (unicode, ATTR_KEYWORDS | ATTR_INDEXED),
+ album = (unicode, ATTR_KEYWORDS),
+ genre = (unicode, ATTR_INDEXED),
+ samplerate = (int, ATTR_SIMPLE),
+ length = (int, ATTR_SIMPLE),
+ bitrate = (int, ATTR_SIMPLE),
+ trackno = (int, ATTR_SIMPLE))
+
+ self.register_object_type_attrs("image",
+ name = (str, ATTR_KEYWORDS),
+ mtime = (int, ATTR_SIMPLE),
+ width = (int, ATTR_SEARCHABLE),
+ height = (int, ATTR_SEARCHABLE),
+ date = (int, ATTR_SEARCHABLE))
# TODO: add more known types
- root = self.query_normalized(type="dir", name="/")
+ root = self.query(type="dir", name="/")
if not root:
- root = self.add_object(("dir", "/"))
+ root = self.add_object("dir", name="/")
# FIXME: get current data from database
- root = self.query_normalized(type='dir', name='/')[0]
+ root = self.query(type='dir', name='/')[0]
else:
root = root[0]
root['url'] = 'file:/'
@@ -282,9 +296,9 @@
# as basic parent
name = os.path.basename(dirname)
- current = self.query_normalized(type="dir", name=name, parent=parent)
+ current = self.query(type="dir", name=name, parent=parent)
if not current:
- current = self.add_object(("dir", name), parent=parent)
+ current = self.add_object("dir", name=name, parent=parent)
else:
current = current[0]
current['url'] = 'file:' + dirname
@@ -297,7 +311,7 @@
def __get_parent(self, id):
if id in self._parent_cache:
return self._parent_cache[id]
- object = self.query_normalized(type=id[0], id=id[1])[0]
+ object = self.query(type=id[0], id=id[1])[0]
# TODO: handle objects without parents (e.g. rom drives)
@@ -321,14 +335,14 @@
dirname = os.path.dirname(filename)
basename = os.path.basename(filename)
dir = self.__get_dir(os.path.normpath(os.path.abspath(dirname)))
- current = self.query_normalized(name=basename, parent=dir.__id__())
+ current = self.query(name=basename, parent=dir.__id__())
if not current:
return Item(basename, dir, self)
return Item(current[0], dir, self)
def do_query(self, **args):
- result = self.query_normalized(**args)
+ result = self.query(**args)
if 'attrs' in args:
# The user specified that only some args should be returned.
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog