Author: whit
Date: 2007-07-31 10:45:56 -0400 (Tue, 31 Jul 2007)
New Revision: 7870
Modified:
TaggerStore/trunk/taggerstore/controllers/__init__.py
Log:
convenience method for creating feeds and entries
Modified: TaggerStore/trunk/taggerstore/controllers/__init__.py
===================================================================
--- TaggerStore/trunk/taggerstore/controllers/__init__.py 2007-07-31
14:45:10 UTC (rev 7869)
+++ TaggerStore/trunk/taggerstore/controllers/__init__.py 2007-07-31
14:45:56 UTC (rev 7870)
@@ -6,6 +6,8 @@
from pylons.i18n import N_, _, ungettext
from taggerstore import persist
import taggerstore.helpers as h
+from taggerclient.gdata import GDataQuery
+from taggerclient.atom import tostring
class BaseController(WSGIController):
_tagger = None
@@ -30,7 +32,19 @@
def atom_entries(self):
return persist.get_atom_entries(self.cxn)
+ def entries_for_query(self, query):
+ if isinstance(query, GDataQuery):
+ query = query._sparql()
+ results = self.graph.query(query).serialize(format='entryid_list')
+ entries = [self.atom_entries[entryid] for entryid in results]
+ return entries
+ def feed_for_query(self, query, serialize=True):
+ entries = self.entries_for_query(query)
+ feed = h.feed_factory(entries, serialize=True)
+ return feed
+
+
# Include the '_' function in the public names
__all__ = [__name for __name in locals().keys() if not __name.startswith('_') \
or __name == '_']
--
Archive:
http://www.openplans.org/projects/opencore/lists/openplans-svn/archive/2007/07/1185893157169
To unsubscribe send an email with subject unsubscribe to [EMAIL PROTECTED]
Please contact [EMAIL PROTECTED] for questions.