From 49208b257d6b85c993950db0168dda389acb6935 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Mart=C3=AD?= Date: Mon, 30 Jun 2014 14:39:52 +0200 Subject: [PATCH] Always run read_srclibs as part of read_metadata --- fdroidserver/build.py | 1 - fdroidserver/checkupdates.py | 1 - fdroidserver/metadata.py | 12 +++++++++++- fdroidserver/readmeta.py | 1 - fdroidserver/scanner.py | 1 - fdroidserver/stats.py | 1 - 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/fdroidserver/build.py b/fdroidserver/build.py index 1d11e9fe..98f698a8 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -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 diff --git a/fdroidserver/checkupdates.py b/fdroidserver/checkupdates.py index 7ce14575..f154b4a3 100644 --- a/fdroidserver/checkupdates.py +++ b/fdroidserver/checkupdates.py @@ -333,7 +333,6 @@ def main(): # Get all apps... allapps = metadata.read_metadata() - metadata.read_srclibs() apps = common.read_app_args(args, allapps, False) diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index 3e6ec83e..0be100d9 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -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'): diff --git a/fdroidserver/readmeta.py b/fdroidserver/readmeta.py index 9d26d5e9..23ca4634 100644 --- a/fdroidserver/readmeta.py +++ b/fdroidserver/readmeta.py @@ -26,7 +26,6 @@ def main(): common.read_config(None) metadata.read_metadata(xref=True) - metadata.read_srclibs() if __name__ == "__main__": main() diff --git a/fdroidserver/scanner.py b/fdroidserver/scanner.py index 6918c33c..47bf119a 100644 --- a/fdroidserver/scanner.py +++ b/fdroidserver/scanner.py @@ -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 = [] diff --git a/fdroidserver/stats.py b/fdroidserver/stats.py index 1daec826..ff3a43b9 100644 --- a/fdroidserver/stats.py +++ b/fdroidserver/stats.py @@ -71,7 +71,6 @@ def main(): sys.exit(1) # Get all metadata-defined apps... - metadata.read_srclibs() metaapps = metadata.read_metadata() statsdir = 'stats' -- 2.30.2