diff options
Diffstat (limited to 'manifest_loader.py')
-rw-r--r-- | manifest_loader.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/manifest_loader.py b/manifest_loader.py index 85ad3ea1..1ce1c1f3 100644 --- a/manifest_loader.py +++ b/manifest_loader.py | |||
@@ -15,13 +15,17 @@ | |||
15 | 15 | ||
16 | from manifest_xml import XmlManifest | 16 | from manifest_xml import XmlManifest |
17 | 17 | ||
18 | def ParseManifest(repodir): | 18 | def ParseManifest(repodir, type=None): |
19 | if type: | ||
20 | return type(repodir) | ||
19 | return XmlManifest(repodir) | 21 | return XmlManifest(repodir) |
20 | 22 | ||
21 | _manifest = None | 23 | _manifest = None |
22 | 24 | ||
23 | def GetManifest(repodir, reparse=False): | 25 | def GetManifest(repodir, reparse=False, type=None): |
24 | global _manifest | 26 | global _manifest |
25 | if _manifest is None or reparse: | 27 | if _manifest is None \ |
26 | _manifest = ParseManifest(repodir) | 28 | or reparse \ |
29 | or (type and _manifest.__class__ != type): | ||
30 | _manifest = ParseManifest(repodir, type=type) | ||
27 | return _manifest | 31 | return _manifest |