this repo has no description
1class BaseFeed:
2 def process_commit(self, commit):
3 raise NotImplementedError
4
5 def serve_feed(self, limit, offset, langs):
6 raise NotImplementedError
7
8 def run_tasks_minute(self):
9 pass
10
11class FeedManager:
12 def __init__(self):
13 self.feeds = {}
14
15 def register(self, feed):
16 self.feeds[feed.FEED_URI] = feed()
17
18 def process_commit(self, commit):
19 for feed in self.feeds.values():
20 feed.process_commit(commit)
21
22 def serve_feed(self, feed_uri, limit, offset, langs):
23 feed = self.feeds.get(feed_uri)
24 if feed is not None:
25 return feed.serve_feed(limit, offset, langs)
26
27 def run_tasks_minute(self):
28 for feed in self.feeds.values():
29 feed.run_tasks_minute()