# HG changeset patch # User Bjoern Ricks # Date 1289831655 0 # Node ID e73a4bbc35e7057d1ef0b2016536ebad1e11ad8a # Parent e90a21cfbc3bef03a9b73aff653f34e2b6c8bfd8 tag_pkg_parameters depends on scm therefore move this method to the tagdetetors which are scm aware currently bot tag_pkg_parameters (for git and svn) contain hardcoded regular expressions which should be removed in future diff -r e90a21cfbc3b -r e73a4bbc35e7 recipes/kde/enterprise/generic.py --- a/recipes/kde/enterprise/generic.py Thu Nov 11 11:50:08 2010 +0000 +++ b/recipes/kde/enterprise/generic.py Mon Nov 15 14:34:15 2010 +0000 @@ -132,7 +132,7 @@ self.tag_revision = tag_revision self.tag_rules_url = tag_rules_url self.tag_rules_revision = tag_rules_revision - tag_date, tag_change_count = self.tag_pkg_parameters(tag_url) + tag_date, tag_change_count = self.tag_detector.tag_pkg_parameters(tag_url) pkg_revision = (self.pkg_revision_template % dict(pkg_revision=tag_change_count, rules_revision=revision[1])) @@ -166,17 +166,3 @@ else: super(PackageTrack, self).copy_debian_directory(to_dir) - def tag_pkg_parameters(self, tag_url): - match = re.search(r"/enterprise[^.]*\.[^.]*\." - r"(?P[0-9]{8})\.(?P[0-9]+)/", - tag_url) - if match: - date = match.group("date") - baserev = match.group("baserev") - xml_log = subversion.log_xml(tag_url, baserev) - revisions = subversion.extract_tag_revisions(xml_log) - tag_change_count = len(revisions) - return (date, tag_change_count) - else: - raise RuntimeError("Cannot determine tag parameters from %r" - % tag_url) diff -r e90a21cfbc3b -r e73a4bbc35e7 treepkg/git.py --- a/treepkg/git.py Thu Nov 11 11:50:08 2010 +0000 +++ b/treepkg/git.py Mon Nov 15 14:34:15 2010 +0000 @@ -171,3 +171,16 @@ except GitError: pass return urlrev + + def tag_pkg_parameters(self, tag_name): + # FIXME: Don't hardcore svn tag path and regex + #match = re.search(r"enterprise[^.]*\.[^.]*\." + match = re.search(r"enterprise[^.]*" + r"(?P[0-9]{8})", + tag_name) + if match: + date = match.group("date") + return (date, 1) + else: + raise GitError("Cannot determine tag parameters from %s" + % tag_name) diff -r e90a21cfbc3b -r e73a4bbc35e7 treepkg/subversion.py --- a/treepkg/subversion.py Thu Nov 11 11:50:08 2010 +0000 +++ b/treepkg/subversion.py Mon Nov 15 14:34:15 2010 +0000 @@ -345,3 +345,19 @@ except SubversionError: pass return urlrev + + def tag_pkg_parameters(self, tag_url): + # FIXME: Don't hardcore svn tag path and regex + match = re.search(r"/enterprise[^.]*\.[^.]*\." + r"(?P[0-9]{8})\.(?P[0-9]+)/", + tag_url) + if match: + date = match.group("date") + baserev = match.group("baserev") + xml_log = subversion.log_xml(tag_url, baserev) + revisions = subversion.extract_tag_revisions(xml_log) + tag_change_count = len(revisions) + return (date, tag_change_count) + else: + raise RuntimeError("Cannot determine tag parameters from %s" + % tag_url)