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.

Reply via email to