diff options
-rw-r--r-- | morphlib/localrepocache.py | 20 |
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): |