Author: dmeyer
Date: Sat Oct 13 07:39:45 2007
New Revision: 2856
Log:
small update improvements
Modified:
trunk/feedmanager/src/__init__.py
trunk/feedmanager/src/core.py
Modified: trunk/feedmanager/src/__init__.py
==============================================================================
--- trunk/feedmanager/src/__init__.py (original)
+++ trunk/feedmanager/src/__init__.py Sat Oct 13 07:39:45 2007
@@ -34,6 +34,7 @@
# kaa imports
import kaa.rpc
+import kaa.notifier.url
# feedmanager imports
import manager
@@ -46,20 +47,14 @@
"""
Remove feed
"""
- for c in manager.list_feeds():
- if self.get('id') == c.id:
- manager.remove_feed(c)
- return True
- return False
+ return remove_feed(self)
def update(self, verbose=False):
"""
Update feed
"""
- for c in manager.list_feeds():
- if self.get('id') == c.id:
- return c.update(verbose)
- return False
+ return update_feed(self, verbose)
+
def list_feeds():
"""
@@ -78,6 +73,30 @@
return Feed(manager.add_feed(url, destdir, download, num,
keep).get_config())
+def remove_feed(feed):
+ """
+ Remove a feed.
+ """
+ if isinstance(feed, dict):
+ feed = feed.get('id')
+ for c in manager.list_feeds():
+ if feed == c.id:
+ manager.remove_feed(c)
+ return True
+ return False
+
+
+def update_feed(feed, verbose=False):
+ """
+ Update a feed.
+ """
+ if isinstance(feed, dict):
+ feed = feed.get('id')
+ for c in manager.list_feeds():
+ if feed == c.id:
+ return c.update(verbose)
+
+
def set_database(database):
"""
Set the database. Called by server at startup.
Modified: trunk/feedmanager/src/core.py
==============================================================================
--- trunk/feedmanager/src/core.py (original)
+++ trunk/feedmanager/src/core.py Sat Oct 13 07:39:45 2007
@@ -85,6 +85,7 @@
self._download = True
self._num = 0
self._keep = True
+ self._updating = False
if not os.path.isdir(destdir):
os.makedirs(destdir)
self.id = Feed.NEXT_ID
@@ -179,6 +180,10 @@
sys.stdout.write("%s\r" % s.get_progressbar())
sys.stdout.flush()
+ if self._updating:
+ log.error('feed %s is already updating', self.url)
+ yield False
+ self._updating = True
log.info('update feed %s', self.url)
# get directory information
@@ -260,7 +265,9 @@
elif os.path.isfile(filename):
# delete file on disc
os.unlink(filename)
-
+ self._updating = False
+ yield True
+
@kaa.notifier.yield_execution()
def remove(self):
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog