# HG changeset patch # User Dirk Olmes # Date 1314065746 -7200 # Node ID 7217b060b39cbb705c5098577fc46912c5d4b08f # Parent b2ef673607e38b76b407486c4dce38b72f4ae422 implement a Feed class that can be used to query feed and that wraps view results diff -r b2ef673607e3 -r 7217b060b39c backend/couchdb/Feed.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/backend/couchdb/Feed.py Tue Aug 23 04:15:46 2011 +0200 @@ -0,0 +1,12 @@ + +class Feed(object): + @staticmethod + def all(database): + viewResults = database.view("feedtest/feeds") + return [Feed(row) for row in viewResults] + + def __init__(self, row): + self.row = row + + def __getattr__(self, key): + return self.row.value[key] diff -r b2ef673607e3 -r 7217b060b39c tests/couchdb/FeedTests.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/couchdb/FeedTests.py Tue Aug 23 04:15:46 2011 +0200 @@ -0,0 +1,20 @@ + +from backend.couchdb.Feed import Feed +from backend.couchdb.CouchDbBackend import CouchDbBackend +import unittest + +class Test(unittest.TestCase): + def setUp(self): + self.database = CouchDbBackend().database + + def _testAllFeeds(self): + allFeeds = Feed.all(self.database) + self.assertEqual(2, len(allFeeds)) + + def testFeedPropertyAccess(self): + feed = Feed.all(self.database)[0] + self.assertEquals("BBC", feed.title) + +if __name__ == "__main__": + #import sys;sys.argv = ['', 'Test.testName'] + unittest.main() \ No newline at end of file diff -r b2ef673607e3 -r 7217b060b39c tests/couchdb/__init__.py