Author: dmeyer
Date: Sun Sep 16 14:16:26 2007
New Revision: 2821
Log:
small cosmetic changes
Modified:
trunk/beacon/src/db.py
trunk/beacon/src/media.py
trunk/beacon/src/server/db.py
trunk/beacon/src/server/feedmanager/__init__.py
trunk/beacon/src/server/feedmanager/core.py
trunk/beacon/src/server/feedmanager/manager.py
trunk/beacon/src/server/monitor.py
trunk/beacon/src/server/server.py
trunk/beacon/src/server/thumbnailer.py
trunk/beacon/src/utils.py
Modified: trunk/beacon/src/db.py
==============================================================================
--- trunk/beacon/src/db.py (original)
+++ trunk/beacon/src/db.py Sun Sep 16 14:16:26 2007
@@ -138,6 +138,13 @@
}
+ def get_directory(self):
+ """
+ Get main beacon directory.
+ """
+ return self._db_directory
+
+
# -------------------------------------------------------------------------
# Query functions
#
Modified: trunk/beacon/src/media.py
==============================================================================
--- trunk/beacon/src/media.py (original)
+++ trunk/beacon/src/media.py Sun Sep 16 14:16:26 2007
@@ -37,7 +37,6 @@
# kaa imports
import kaa.notifier
-from kaa.weakref import weakref
# kaa.beacon imports
import utils
@@ -47,9 +46,9 @@
class Media(object):
-
- # check what mounpoint needs right now
-
+ """
+ Media object for a specific mount point.
+ """
def __init__(self, id, controller):
log.info('new media %s', id)
self._controller = controller
@@ -84,7 +83,6 @@
self.mountpoint = self.device
if not self.mountpoint.endswith('/'):
self.mountpoint += '/'
- self._beacon_media = weakref(self)
# get basic information from database
media = self._controller._beacon_media_information(self)
if isinstance(media, kaa.notifier.InProgress):
@@ -116,21 +114,50 @@
else:
self.label = self.id
+
def get(self, key):
+ """
+ Get value.
+ """
return self.prop.get(key)
+
def __getitem__(self, key):
+ """
+ Get value
+ """
return self.prop[key]
+
def __setitem__(self, key, value):
+ """
+ Set value
+ """
self.prop[key] = value
+
def __repr__(self):
+ """
+ For debugging only.
+ """
return '<kaa.beacon.Media %s>' % self.id
-class MediaList(object):
+ def _get_beacon_media(self):
+ """
+ Get _beacon_media which is this object itself. To avoid circular
+ references, use a property here.
+ """
+ return self
+
+ _beacon_media = property(_get_beacon_media, None, None, "media reference")
+
+
+class MediaList(object):
+ """
+ List of current known Media objects.
+ """
def __init__(self):
self._dict = dict()
self._idlist = []
@@ -224,4 +251,5 @@
return self._dict.values().__iter__()
+# global media list object
medialist = MediaList()
Modified: trunk/beacon/src/server/db.py
==============================================================================
--- trunk/beacon/src/server/db.py (original)
+++ trunk/beacon/src/server/db.py Sun Sep 16 14:16:26 2007
@@ -280,6 +280,7 @@
def _delete_object_recursive(self, entry):
"""
+ Helper function for delete_object.
"""
log.info('delete %s', entry)
for child in self._db.query(parent = entry):
@@ -290,6 +291,10 @@
def delete_object(self, entry):
+ """
+ Delete an object from the database. entry is either an Item or
+ a (type, id) tuple.
+ """
if self.read_lock.is_locked():
raise IOError('database is locked')
if isinstance(entry, Item):
Modified: trunk/beacon/src/server/feedmanager/__init__.py
==============================================================================
--- trunk/beacon/src/server/feedmanager/__init__.py (original)
+++ trunk/beacon/src/server/feedmanager/__init__.py Sun Sep 16 14:16:26 2007
@@ -45,6 +45,9 @@
#
# ##################################################################
+# python imports
+import os
+
# kaa imports
import kaa.rpc
@@ -102,4 +105,7 @@
Set the database. Called by server at startup.
"""
core.Feed._db = database
- manager.init()
+ core.Feed.IMAGEDIR = os.path.join(database.get_directory(), 'images')
+ if not os.path.isdir(core.Feed.IMAGEDIR):
+ os.makedirs(core.Feed.IMAGEDIR)
+ manager.init(os.path.join(database.get_directory(), 'feeds.xml'))
Modified: trunk/beacon/src/server/feedmanager/core.py
==============================================================================
--- trunk/beacon/src/server/feedmanager/core.py (original)
+++ trunk/beacon/src/server/feedmanager/core.py Sun Sep 16 14:16:26 2007
@@ -53,11 +53,6 @@
# some generic entry/feed stuff
# ##################################################################
-IMAGEDIR = os.path.expanduser("~/.beacon/images")
-
-if not os.path.isdir(IMAGEDIR):
- os.makedirs(IMAGEDIR)
-
class Entry(dict):
def __getattr__(self, attr):
@@ -80,6 +75,7 @@
_db = None
NEXT_ID = 0
+ IMAGEDIR = None
def __init__(self, url, destdir):
self.url = url
@@ -167,7 +163,7 @@
"""
url = unicode_to_str(url)
fname = md5.md5(url).hexdigest() + os.path.splitext(url)[1]
- fname = os.path.join(IMAGEDIR, fname)
+ fname = os.path.join(self.IMAGEDIR, fname)
if os.path.isfile(fname):
yield fname
yield kaa.notifier.url.fetch(url, fname)
Modified: trunk/beacon/src/server/feedmanager/manager.py
==============================================================================
--- trunk/beacon/src/server/feedmanager/manager.py (original)
+++ trunk/beacon/src/server/feedmanager/manager.py Sun Sep 16 14:16:26 2007
@@ -44,7 +44,8 @@
# get logging object
log = logging.getLogger('beacon.feed')
-CACHE = os.path.expanduser("~/.beacon/feeds.xml")
+# cache file
+CACHE = None
# list of all feed objects
_feeds = []
@@ -113,7 +114,7 @@
f.close()
-def init():
+def init(cachefile):
"""
Load cached feeds from disc.
"""
@@ -129,6 +130,9 @@
_feeds.append(feed)
return
+ global CACHE
+ CACHE = cachefile
+
if not os.path.isfile(CACHE):
return
Modified: trunk/beacon/src/server/monitor.py
==============================================================================
--- trunk/beacon/src/server/monitor.py (original)
+++ trunk/beacon/src/server/monitor.py Sun Sep 16 14:16:26 2007
@@ -41,9 +41,6 @@
# kaa.beacon imports
from kaa.beacon.item import Item
-# kaa.beacon server imports
-import parser
-
# get logging object
log = logging.getLogger('beacon.monitor')
@@ -249,7 +246,7 @@
for pos, item in enumerate(changed):
self.notify_client('progress', pos+1, len(changed), item.url)
- async = parser.parse(self._db, item)
+ async = item.parse()
if isinstance(async, kaa.notifier.InProgress):
yield async
if not self._running:
@@ -286,8 +283,7 @@
def __repr__(self):
+ """
+ For debugging only
+ """
return '<beacon.Monitor for %s>' % self._query
-
-
- def __del__(self):
- log.info('delete %s', self)
Modified: trunk/beacon/src/server/server.py
==============================================================================
--- trunk/beacon/src/server/server.py (original)
+++ trunk/beacon/src/server/server.py Sun Sep 16 14:16:26 2007
@@ -37,7 +37,6 @@
# kaa imports
import kaa.rpc
-from kaa.weakref import weakref
from kaa.notifier import OneShotTimer, Timer, Callback
# kaa.beacon imports
Modified: trunk/beacon/src/server/thumbnailer.py
==============================================================================
--- trunk/beacon/src/server/thumbnailer.py (original)
+++ trunk/beacon/src/server/thumbnailer.py Sun Sep 16 14:16:26 2007
@@ -151,6 +151,9 @@
def step(self):
+ """
+ Process one job
+ """
if not self.jobs or kaa.notifier.shutting_down:
return False
Modified: trunk/beacon/src/utils.py
==============================================================================
--- trunk/beacon/src/utils.py (original)
+++ trunk/beacon/src/utils.py Sun Sep 16 14:16:26 2007
@@ -29,12 +29,16 @@
#
# -----------------------------------------------------------------------------
+# python imports
import os
import re
FILENAME_REGEXP = re.compile("^(.*?)_(.)(.*)$")
def fstab():
+ """
+ Read /etc/fstab into a list of (device, mountpoint, type, options)
+ """
if not os.path.isfile('/etc/fstab'):
return []
result = []
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog