summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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):