Exemplo n.º 1
0
 def testAdd(self):
     uq = UpdateQueue()
     f1 = Feed('feed2')
     f2 = Feed('feed4')
     f3 = Feed('feed5')
     f4 = Feed('feed1')
     f5 = Feed('feed3')
     f1.lastUpdated = 20
     f2.lastUpdated = 40
     f3.lastUpdated = 50
     f4.lastUpdated = 10
     f5.lastUpdated = 30
     f6 = feed('feed1')
     f5.updateInterval = 30 * 60
     uq.add(f1)
     uq.add(f2)
     uq.add(f3)
     uq.add(f4)
     uq.add(f5)
     uq.add(f6)
     self.assertEqual( uq.next(), f4 )
     self.assertEqual( uq.next(), f1 )
     self.assertEqual( uq.next(), f2 )
     self.assertEqual( uq.next(), f3 )
     self.assertEqual( uq.next(), f5 )
Exemplo n.º 2
0
 def testNext(self):
     uq = UpdateQueue()
     f1 = Feed('feed1')
     f2 = Feed('feed2')
     f3 = Feed('feed3')
     f1.lastUpdated = 0
     f2.lastUpdated = time.time() - 5
     f3.lastUpdated = time.time()
     f2.updateInterval = 10
     f3.updateInterval = 6
     uq.add(f1)
     uq.add(f2)
     uq.add(f3)
     self.assertEqual(uq.next(), f1)
     self.assertEqual(uq.next(), f2)
     self.assertTrue(time.time() > (f2.lastUpdated + f2.updateInterval))
     self.assertEqual(uq.next(), f3)
     self.assertTrue(time.time() > (f3.lastUpdated + f3.updateInterval))
     self.assertTrue((time.time() -
                      (f3.lastUpdated + f3.updateInterval)) < 1)
Exemplo n.º 3
0
 def testNext(self):
     uq = UpdateQueue()
     f1 = Feed('feed1')
     f2 = Feed('feed2')
     f3 = Feed('feed3')
     f1.lastUpdated = 0
     f2.lastUpdated = time.time() - 5
     f3.lastUpdated = time.time()
     f2.updateInterval = 10
     f3.updateInterval = 6
     uq.add(f1)
     uq.add(f2)
     uq.add(f3)
     self.assertEqual(uq.next(), f1 )
     self.assertEqual(uq.next(), f2 )
     self.assertTrue(time.time() > (f2.lastUpdated + f2.updateInterval))
     self.assertEqual(uq.next(), f3 )
     self.assertTrue(time.time() > (f3.lastUpdated + f3.updateInterval))
     self.assertTrue((time.time() - (f3.lastUpdated + f3.updateInterval)) < 1)
Exemplo n.º 4
0
 def testAdd(self):
     uq = UpdateQueue()
     f1 = Feed('feed2')
     f2 = Feed('feed4')
     f3 = Feed('feed5')
     f4 = Feed('feed1')
     f5 = Feed('feed3')
     f1.lastUpdated = 20
     f2.lastUpdated = 40
     f3.lastUpdated = 50
     f4.lastUpdated = 10
     f5.lastUpdated = 30
     f6 = feed('feed1')
     f5.updateInterval = 30 * 60
     uq.add(f1)
     uq.add(f2)
     uq.add(f3)
     uq.add(f4)
     uq.add(f5)
     uq.add(f6)
     self.assertEqual(uq.next(), f4)
     self.assertEqual(uq.next(), f1)
     self.assertEqual(uq.next(), f2)
     self.assertEqual(uq.next(), f3)
     self.assertEqual(uq.next(), f5)
Exemplo n.º 5
0
#TODO: make POST/GETs specific sites, instead of everything
import sqlite3
import store
import Feed, UpdateQueue
from threading import Thread

import cherrypy
from cherrypy import tools
from json import JSONEncoder

import traceback, sys

queue = UpdateQueue.UpdateQueue()


def feedExists(url, conn):
    """Returns whether or not the feed already exists in the DB."""
    c = conn.cursor()
    c.execute("SELECT feed_url FROM feeds WHERE feed_url = '" + url +
              "' limit 1")
    return c.fetchone()


class UpdateThread(Thread):
    "Thread that loops until quit, updating feeds"

    def run(self):
        conn = sqlite3.connect("updater.db")
        c = conn.cursor()
        c.execute("SELECT * FROM feeds")
        for row in c: