chiark / gitweb /
Always run read_srclibs as part of read_metadata
authorDaniel Martí <mvdan@mvdan.cc>
Mon, 30 Jun 2014 12:39:52 +0000 (14:39 +0200)
committerDaniel Martí <mvdan@mvdan.cc>
Mon, 30 Jun 2014 12:39:52 +0000 (14:39 +0200)
fdroidserver/build.py
fdroidserver/checkupdates.py
fdroidserver/metadata.py
fdroidserver/readmeta.py
fdroidserver/scanner.py
fdroidserver/stats.py

index 1d11e9fe8e8d5462376f7a656fd22d2152644292..98f698a86e09b83337e0372b5ba58f23ae54bfb3 100644 (file)
@@ -999,7 +999,6 @@ def main():
 
     # Read all app and srclib metadata
     allapps = metadata.read_metadata(xref=not options.onserver)
-    metadata.read_srclibs()
 
     apps = common.read_app_args(args, allapps, True)
     apps = [app for app in apps if (options.force or not app['Disabled']) and
index 7ce1457510c1b35b6dd114a8ed99a22bca9c60c8..f154b4a36a5a164236f6e191fec35b3af052b58b 100644 (file)
@@ -333,7 +333,6 @@ def main():
 
     # Get all apps...
     allapps = metadata.read_metadata()
-    metadata.read_srclibs()
 
     apps = common.read_app_args(args, allapps, False)
 
index 3e6ec83e3105f83a534d76d95ed058d1bef5f064..0be100d9f26a33035eefbde2939d238bc1d39a66 100644 (file)
@@ -25,7 +25,7 @@ import logging
 
 from collections import OrderedDict
 
-srclibs = {}
+srclibs = None
 
 
 class MetaDataException(Exception):
@@ -451,6 +451,11 @@ def read_srclibs():
     metadata.
     """
     global srclibs
+
+    # They were already loaded
+    if srclibs is not None:
+        return
+
     srclibs = {}
 
     srcdir = 'srclibs'
@@ -465,6 +470,11 @@ def read_srclibs():
 # Read all metadata. Returns a list of 'app' objects (which are dictionaries as
 # returned by the parse_metadata function.
 def read_metadata(xref=True):
+
+    # Always read the srclibs before the apps, since they can use a srlib as
+    # their source repository.
+    read_srclibs()
+
     apps = []
 
     for basedir in ('metadata', 'tmp'):
index 9d26d5e99a57c100866f0f92f1b80e1e7dcc37cd..23ca4634f14c44836083b86a3a9c8d912818aca9 100644 (file)
@@ -26,7 +26,6 @@ def main():
     common.read_config(None)
 
     metadata.read_metadata(xref=True)
-    metadata.read_srclibs()
 
 if __name__ == "__main__":
     main()
index 6918c33c4610c413609861f3f2dfd4ff96d61c4a..47bf119aa97e97053ca1edd111f3e46fd1b39f1f 100644 (file)
@@ -50,7 +50,6 @@ def main():
     # Read all app and srclib metadata
     allapps = metadata.read_metadata()
     apps = common.read_app_args(args, allapps, True)
-    metadata.read_srclibs()
 
     problems = []
 
index 1daec826bd47a223d11fc0d727d85cb3af5017a5..ff3a43b977effd6bea7109003f9ec6750715abdf 100644 (file)
@@ -71,7 +71,6 @@ def main():
         sys.exit(1)
 
     # Get all metadata-defined apps...
-    metadata.read_srclibs()
     metaapps = metadata.read_metadata()
 
     statsdir = 'stats'