From c8780a8ef5d6c8a9106f92007c1519bc30c0dfce Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Thu, 3 May 2012 15:53:48 +0100 Subject: Fix LocalRepoCache to not abort on %s-less repo patterns Also, add debugging messages for debugging prefix expansion. --- morphlib/localrepocache.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'morphlib/localrepocache.py') 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[a-z0-9]+)=(?P[^#]+)#(?P[^#]+)' + pat = r'^(?P[a-z0-9]+)=(?P[^#]+)#(?P[^#]+)$' 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): -- cgit v1.2.1