Mercurial > hg > CommitWatcher
comparison commitwatcher/agent.py @ 2:4cb3971d9d9d
commitwatcher/__init__.py commitwatcher/agent.py commitwatcher/main.py setup.py commitwatcher/commit.py commitwatcher/store.py mozbasewatcher.py
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Thu, 26 Sep 2013 21:35:29 -0700 |
parents | 4e24f3c6610c |
children | 883c88b13142 |
comparison
equal
deleted
inserted
replaced
1:4e24f3c6610c | 2:4cb3971d9d9d |
---|---|
1 """ | 1 """ |
2 agents to gather commits | 2 agents to gather commits |
3 """ | 3 """ |
4 | 4 |
5 import feedparser | |
6 from .commit import Commit | |
7 | |
5 class Agent(object): | 8 class Agent(object): |
6 """abstract base class""" | 9 """abstract base class""" |
10 | |
11 def __init__(self, repository, store): | |
12 """ | |
13 repository -- repo to monitor | |
14 """ | |
15 self.repository = repository | |
16 self.store = store | |
17 | |
7 | 18 |
8 class LocalCheckoutAgent(object): | 19 class LocalCheckoutAgent(object): |
9 """agent based on local checkouts""" | 20 """agent based on local checkouts""" |
10 | 21 |
22 | |
11 class FeedAgent(Agent): | 23 class FeedAgent(Agent): |
12 """gathers changesets by reading RSS/Atom""" | 24 """gathers changesets by reading RSS/Atom""" |
25 | |
26 def feed(self): | |
27 """feed URL""" | |
28 return '/'.join((self.repository.rstrip('/'), 'atom-log')) | |
29 | |
30 def update(self): | |
31 """update""" | |
32 | |
33 feed = feedparser.parse(self.feed()) | |
34 for entry in feedparser['entries']: | |
35 | |
36 # get paths from diff | |
37 link = entry['link'] | |
38 # TODO | |
39 | |
40 commit = Commit() |