[library-web] Also add processing of <autotools> nods when registering extra tarballs



commit 30eb30ede9711a34256a0c51225661dcf58eb9c1
Author: Frédéric Péters <fpeters 0d be>
Date:   Thu Aug 19 14:26:26 2010 +0200

    Also add processing of <autotools> nods when registering extra tarballs

 src/lgo.py |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)
---
diff --git a/src/lgo.py b/src/lgo.py
index b139083..3f53f7e 100755
--- a/src/lgo.py
+++ b/src/lgo.py
@@ -319,6 +319,7 @@ class Lgo(App):
             if repository.attrib['type'] != 'tarball':
                 continue
             repositories[repository.attrib['name']] = repository.attrib['href']
+        self.repositories = repositories
 
         hrefs = []
 
@@ -391,6 +392,31 @@ class Lgo(App):
             extra_tarball = 'gnome://%s?min=%s' % (tarball.attrib['id'], min_version)
             self.config.extra_tarballs.append(extra_tarball)
 
+        # XXX: this needs to be refactored, and moduleset processing code to be
+        # shared with process_moduleset
+        for module in tree.findall('autotools'):
+            if self.config.modules is not None and not module.attrib['id'] in self.config.modules:
+                continue
+            branch = module.find('branch')
+            if branch is None:
+                continue
+
+            repository = self.repositories.get(branch.attrib.get('repo'))
+            if repository is None:
+                continue
+            url = repository + branch.attrib.get('module')
+            if not (url.startswith('http://download.gnome.org/') or
+                    url.startswith('http://ftp.gnome.org/')):
+                continue
+
+            min_version = branch.attrib.get('version')
+            if not min_version:
+                continue
+            min_version += '.1'
+            logging.info('registering module %s for extra tarballs' % module.attrib['id'])
+            extra_tarball = 'gnome://%s?min=%s' % (module.attrib['id'], min_version)
+            self.config.extra_tarballs.append(extra_tarball)
+
     def extract_modules(self, filename, nightly = False):
         logging.debug('looking for doc modules in %s' % filename)
         doc_modules = []



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]