diff options
author | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2012-05-03 15:53:48 +0100 |
---|---|---|
committer | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2012-05-04 14:24:07 +0100 |
commit | c8780a8ef5d6c8a9106f92007c1519bc30c0dfce (patch) | |
tree | 3f57925a496fdaef9b60a2a428639299d0611c0c /morphlib/localrepocache.py | |
parent | c21dd9f7986bb9dad3b36cb6ace6d9b4b161700b (diff) | |
download | morph-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.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): |