Mercurial > hg > CommitWatcher
view commitwatcher/agent.py @ 6:883c88b13142
commitwatcher/agent.py commitwatcher/store.py mozbasewatcher.py
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Fri, 27 Sep 2013 13:03:40 -0700 |
parents | 4cb3971d9d9d |
children | 296af1d32b6a |
line wrap: on
line source
""" agents to gather commits """ import feedparser from .commit import Commit from .store import MemoryStore class Agent(object): """abstract base class""" def __init__(self, repository, store=None): """ repository -- repo to monitor """ self.repository = repository self.store = MemoryStore() if store is None else store class LocalCheckoutAgent(object): """agent based on local checkouts""" class FeedAgent(Agent): """gathers changesets by reading RSS/Atom""" def feed(self): """feed URL""" return '/'.join((self.repository.rstrip('/'), 'atom-log')) def update(self): """update""" feed = feedparser.parse(self.feed()) for entry in feedparser['entries']: # get paths from diff link = entry['link'] # TODO commit = Commit()