From ba08fae3fd0158fb41651d74f97916021ccfb172 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Fri, 7 Nov 2008 11:04:26 +0100 Subject: add vcsbrowser wrapper --- vcsbrowsers.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 vcsbrowsers.py diff --git a/vcsbrowsers.py b/vcsbrowsers.py new file mode 100644 index 0000000..fd29005 --- /dev/null +++ b/vcsbrowsers.py @@ -0,0 +1,36 @@ +# convenience wrappers to construct links +# into the webinterfaces of different VCSs + +class VCSBrowser: + def __init__(self, url): + self.url = url.rstrip('/') + + def commit(self, commtid): + raise NotImplemented + + def branch(self, branch): + raise NotImplemented + + +class GitWebBrowser(VCSBrowser): + """ + URLs for gitweb: + e.g. http://git.debian.org/?p=pkg-libvirt/gtk-vnc.git + """ + def commit(self, commitid): + return "%s;a=commit;h=%s" % (self.url, commitid) + + def branch(self, branch): + return "%s;a=shortlog;h=refs/heads/%s" % (self.url, branch) + + +class HgBrowser(VCSBrowser): + """ + URLs for Mercurial: + e.g. http://hg.et.redhat.com/virt/applications/virtinst--devel + """ + + def commit(self, commitid): + return "%s?cs=%s" % (self.url, commitid) + + -- cgit v1.2.3