Author: dmeyer
Date: Sat Dec 9 19:08:39 2006
New Revision: 2196
Modified:
trunk/beacon/src/file.py
trunk/beacon/src/item.py
trunk/beacon/src/server/parser.py
trunk/beacon/src/server/server.py
Log:
Add scheme to database for files that can't be played
using file://. Only tested with dvd directories on hd
Modified: trunk/beacon/src/file.py
==============================================================================
--- trunk/beacon/src/file.py (original)
+++ trunk/beacon/src/file.py Sat Dec 9 19:08:39 2006
@@ -93,6 +93,10 @@
raise ValueError('unable to create File item from %s', data)
Item.__init__(self, id, 'file://' + filename, data, parent, media)
+ if self._beacon_data.get('scheme'):
+ self.url = self._beacon_data.get('scheme') + \
+ self.url[self.url.find('://')+3:]
+
self._beacon_overlay = overlay
self._beacon_isdir = isdir
self._beacon_islink = False
@@ -209,6 +213,8 @@
Convert object to string (usefull for debugging)
"""
str = '<beacon.File %s' % self.filename
+ if not self.url.startswith('file://'):
+ str = '<beacon.File %s' % self.url
if self._beacon_data.get('mtime') == None:
str += ' (new)'
else:
Modified: trunk/beacon/src/item.py
==============================================================================
--- trunk/beacon/src/item.py (original)
+++ trunk/beacon/src/item.py Sat Dec 9 19:08:39 2006
@@ -304,5 +304,7 @@
url = parent.url + data['name']
else:
url = parent.url + '/' + data['name']
+ if data.get('scheme'):
+ url = data.get('scheme') + url[url.find('://')+3:]
return Item((data['type'], data['id']), url, data, parent,
parent._beacon_media)
Modified: trunk/beacon/src/server/parser.py
==============================================================================
--- trunk/beacon/src/server/parser.py (original)
+++ trunk/beacon/src/server/parser.py Sat Dec 9 19:08:39 2006
@@ -120,7 +120,7 @@
# thumbnail is valid or not.
if check_image and item._beacon_data.get('image'):
image = item._beacon_data.get('image')
- if os.path.isfile(image):
+ if os.path.exists(image):
t = thumbnail.Thumbnail(image, item._beacon_media)
if not t.get(thumbnail.LARGE, check_mtime=True):
log.info('create missing image %s for %s', image, item)
@@ -155,6 +155,8 @@
if metadata.get('media') == kaa.metadata.MEDIA_DISC and \
db.object_types().has_key(metadata.get('subtype')):
type = metadata['subtype']
+ if metadata.get('type'):
+ attributes['scheme'] = '%s://' % metadata.get('type').lower()
item._beacon_isdir = False
elif db.object_types().has_key(media_types.get(metadata.get('media'))):
type = media_types.get(metadata['media'])
@@ -285,6 +287,9 @@
if not metadata.get('type'):
log.error('%s metadata has no type', item)
return produced_load
+ # delete all known tracks before adding new
+ for track in db.query(parent=item):
+ db.delete_object(track)
if not 'track_%s' % metadata.get('type').lower() in \
db.object_types().keys():
log.error('track_%s not in database keys',
metadata.get('type').lower())
Modified: trunk/beacon/src/server/server.py
==============================================================================
--- trunk/beacon/src/server/server.py (original)
+++ trunk/beacon/src/server/server.py Sat Dec 9 19:08:39 2006
@@ -89,7 +89,8 @@
title = (unicode, ATTR_KEYWORDS | ATTR_IGNORE_CASE),
width = (int, ATTR_SIMPLE),
height = (int, ATTR_SIMPLE),
- length = (int, ATTR_SIMPLE))
+ length = (int, ATTR_SIMPLE),
+ scheme = (int, ATTR_SIMPLE))
self.register_file_type_attrs("audio",
title = (unicode, ATTR_KEYWORDS | ATTR_IGNORE_CASE),
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog