From 4b4442272b1529b2dff0d3ab17b22d028a957641 Mon Sep 17 00:00:00 2001 From: Pawel Szostek <pawel.szostek@gmail.com> Date: Fri, 13 May 2011 16:32:37 +0200 Subject: [PATCH] Add revision info to modules and iteration methods --- synthesis/fetch.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/synthesis/fetch.py b/synthesis/fetch.py index aad1e45d..b27368bf 100644 --- a/synthesis/fetch.py +++ b/synthesis/fetch.py @@ -71,6 +71,7 @@ class ModuleFetcher: os.chdir(cur_dir) module.isfetched = True + module.revision = rev module.path = os.path.join(fetchto, basename) return rval @@ -113,6 +114,7 @@ class ModuleFetcher: os.chdir(cur_dir) module.isfetched = True + module.revision = rev module.path = os.path.join(fetchto, basename) return rval @@ -132,11 +134,12 @@ class ModuleFetcher: ret = (url_match.group(1), None) return ret -class ModulePool: +class ModulePool(list): def __init__(self, top_module): self.top_module = top_module self.modules = [] - + self.add(module=top_module) + def __iter__(self): return self.modules.__iter__() @@ -144,10 +147,10 @@ class ModulePool: return len(self.modules) def __contains__(self,v): - return v in self.files + return v in self.modules def __getitem__(self,v): - return self.files(v) + return self.modules[v] def __str__(self): return str([str(m) for m in self.modules]) @@ -160,6 +163,8 @@ class ModulePool: if mod.url == module.url: return False self.modules.append(module) + for m in module.git + module.svn + module.local: + self.add(m) return True def fetch_all(self): -- GitLab