summaryrefslogtreecommitdiff
path: root/morphlib/localrepocache.py
diff options
context:
space:
mode:
authorLars Wirzenius <lars.wirzenius@codethink.co.uk>2012-05-03 15:53:48 +0100
committerLars Wirzenius <lars.wirzenius@codethink.co.uk>2012-05-04 14:24:07 +0100
commitc8780a8ef5d6c8a9106f92007c1519bc30c0dfce (patch)
tree3f57925a496fdaef9b60a2a428639299d0611c0c /morphlib/localrepocache.py
parentc21dd9f7986bb9dad3b36cb6ace6d9b4b161700b (diff)
downloadmorph-c8780a8ef5d6c8a9106f92007c1519bc30c0dfce.tar.gz
Fix LocalRepoCache to not abort on %s-less repo patterns
Also, add debugging messages for debugging prefix expansion.
Diffstat (limited to 'morphlib/localrepocache.py')
-rw-r--r--morphlib/localrepocache.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/morphlib/localrepocache.py b/morphlib/localrepocache.py
index 942c057a..ef651f4c 100644
--- a/morphlib/localrepocache.py
+++ b/morphlib/localrepocache.py
@@ -193,25 +193,39 @@ class LocalRepoCache(object):
return None, reponame
def _apply_url_pattern(self, pattern, shortname):
- assert '%s' in pattern
- return shortname.join(pattern.split('%s'))
+ if '%s' in pattern:
+ return shortname.join(pattern.split('%s'))
+ else:
+ return pattern + shortname
def _expand_reponame(self, reponame, patname):
+ logging.debug('expanding: reponame=%s' % reponame)
+ logging.debug('expanding: patname=%s' % patname)
+
prefix, suffix = self._split_reponame(reponame)
+ logging.debug('expanding: prefix=%s' % prefix)
+ logging.debug('expanding: suffix=%s' % suffix)
# There was no prefix.
if prefix is None:
+ logging.debug('expanding: no prefix')
return reponame
- pat = r'^(?P<prefix>[a-z0-9]+)=(?P<pullpat>[^#]+)#(?P<pushpat>[^#]+)'
+ pat = r'^(?P<prefix>[a-z0-9]+)=(?P<pullpat>[^#]+)#(?P<pushpat>[^#]+)$'
for alias in self._aliases:
+ logging.debug('expanding: alias="%s"' % alias)
m = re.match(pat, alias)
+ logging.debug('expanding: m=%s' % repr(m))
+ if m:
+ logging.debug('expanding: prefix group=%s' % m.group('prefix'))
if m and m.group('prefix') == prefix:
pullpat = m.group(patname)
+ logging.debug('expanding: pullpat=%s' % pullpat)
return self._apply_url_pattern(pullpat, suffix)
# Unknown prefix. Which means it may be a real URL instead.
# Let the caller deal with it.
+ logging.debug('expanding: unknown prefix')
return reponame
def pull_url(self, reponame):