Esempio n. 1
0
 def setUp(self):
     MiroTestCase.setUp(self)
     self.feed = Feed(u'http://example.com/1')
     self.item1 = Item(fp_values_for_url(u'http://example.com/1/item1'),
                       feed_id=self.feed.id)
     self.item2 = Item(fp_values_for_url(u'http://example.com/1/item2'),
                       feed_id=self.feed.id)
Esempio n. 2
0
 def setUp(self):
     EventLoopTest.setUp(self)
     self.feed = Feed(u"http://feed.uk")
     self.i1 = Item(FeedParserValues({'title': u'item1'}),
                    feed_id=self.feed.id)
     self.i2 = Item(FeedParserValues({'title': u'item2'}),
                    feed_id=self.feed.id)
     self.i3 = Item(FeedParserValues({'title': u'item3'}),
                    feed_id=self.feed.id)
     self.i4 = Item(FeedParserValues({'title': u'item4'}),
                    feed_id=self.feed.id)
Esempio n. 3
0
    def test_expired_view_1(self):
        f1 = Feed(u'http://example.com/1')

        i1 = Item(fp_values_for_url(u'http://example.com/1/item1'),
                  feed_id=f1.id)
        i2 = Item(fp_values_for_url(u'http://example.com/1/item2'),
                  feed_id=f1.id)

        f1.set_expiration(u'never', 0)
        i1.watched_time = i2.watched_time = datetime.now()

        for obj in (f1, i1, i2):
            obj.signal_change()

        self.assertEquals(list(f1.expiring_items()), [])
Esempio n. 4
0
 def test_watched_time_reset(self):
     feed = Feed(u'http://example.com/1')
     item = Item(fp_values_for_url(u'http://example.com/1/item1'),
                 feed_id=feed.id)
     item.watched_time = datetime.now()
     item.expire()
     self.assertEquals(item.watched_time, None)
Esempio n. 5
0
    def test_expired_view_3(self):
        f3 = Feed(u'http://example.com/3')

        i5 = Item(fp_values_for_url(u'http://example.com/3/item1'),
                  feed_id=f3.id)
        i6 = Item(fp_values_for_url(u'http://example.com/3/item2'),
                  feed_id=f3.id)

        f3.set_expiration(u'feed', 24)
        i5.watched_time = datetime.now() - timedelta(days=3)
        i6.watched_time = datetime.now() - timedelta(hours=12)

        for obj in (f3, i5, i6):
            obj.signal_change()

        self.assertEquals(list(f3.expiring_items()), [i5])
Esempio n. 6
0
 def test_set_rating(self):
     feed = Feed(u'http://example.com/1')
     item = Item(fp_values_for_url(u'http://example.com/1/item1'),
                 feed_id=feed.id)
     item.set_rating(5)
     self.assertEquals(item.rating, 5)
     item.set_rating(3)
     self.assertEquals(item.rating, 3)
Esempio n. 7
0
    def test_expired_view_2(self):
        f2 = Feed(u'http://example.com/2')

        i3 = Item(fp_values_for_url(u'http://example.com/2/item1'),
                  feed_id=f2.id)
        i4 = Item(fp_values_for_url(u'http://example.com/2/item2'),
                  feed_id=f2.id)

        f2.set_expiration(u'system', 0)
        # system default is 6 days as set in setUp, so i3 should expire,
        # but i4 should not.
        i3.watched_time = datetime.now() - timedelta(days=12)
        i4.watched_time = datetime.now() - timedelta(days=3)

        for obj in (f2, i3, i4):
            obj.signal_change()

        self.assertEquals(list(f2.expiring_items()), [i3])
Esempio n. 8
0
 def test_strips_tags(self):
     # Only feeds created with a title get the tags stripped in the title.
     # When using item.set_title() no tags are stripped.
     f1 = Feed(u'http://example.com/1')
     item = Item(fp_values_for_url(u'http://example.com/1/item1',
                                   {'title': u"<em>miro</em>"}),
                 feed_id=f1.id)
     self.assertEquals(item.matches_search('miro'), True)
     self.assertEquals(item.matches_search('<em'), False)
     self.assertEquals(item.matches_search('em>'), False)
     self.assertEquals(item.matches_search('<em>miro</miro'), False)
Esempio n. 9
0
    def test_remove_before_downloader_referenced(self):
        # when items are restored from the DB, the downloader
        # attribute is loaded lazily.  Make sure that if we remove the
        # item, the downloader is still removed.
        feed = Feed(u'http://example.com/1')
        item = Item(fp_values_for_url(u'http://example.com/1/item1'),
                    feed_id=feed.id)
        item.set_downloader(
            RemoteDownloader(u'http://example.com/1/item1/movie.mpeg', item))
        downloader = item.downloader

        feed = self.reload_object(feed)
        downloader = self.reload_object(downloader)
        item = self.reload_object(item)

        item.remove()
        self.assert_(not downloader.id_exists())
Esempio n. 10
0
    def test_get_auto_rating(self):
        feed = Feed(u'http://example.com/1')
        item = Item(fp_values_for_url(u'http://example.com/1/item1'),
                    feed_id=feed.id)

        # no rating if it hasn't been played/skipped
        item.play_count = 0
        item.skip_count = 0
        self.assertEquals(item.get_auto_rating(), None)

        item.play_count = 0
        item.skip_count = 1
        self.assertEquals(item.get_auto_rating(), 1)

        item.play_count = 5
        item.skip_count = 5
        self.assertEquals(item.get_auto_rating(), 1)

        item.play_count = 5
        item.skip_count = 0
        self.assertEquals(item.get_auto_rating(), 5)
Esempio n. 11
0
 def make_item(self, url):
     entry = _build_entry(url, 'video/x-unknown')
     item_ = Item(FeedParserValues(entry), feed_id=self.feed.id)
     self.items.append(item_)
Esempio n. 12
0
 def make_item(self, url, title=u'default item title'):
     additional = {'title': title}
     entry = _build_entry(url, 'video/x-unknown', additional)
     item_ = Item(FeedParserValues(entry), feed_id=self.feed.id)
     self.items.append(item_)
Esempio n. 13
0
 def make_regular_item(self, feed):
     url = u'http://example.com/1/item1'
     item = Item(fp_values_for_url(url), feed_id=feed.id)
     item.set_downloader(RemoteDownloader(url, item))
     return item