diff --git a/fdroid b/fdroid index acb80049..75538aad 100755 --- a/fdroid +++ b/fdroid @@ -30,6 +30,7 @@ commands = [ "verify", "checkupdates", "import", + "readmeta", "rewritemeta", "lint", "scanner", diff --git a/fdroidserver/install.py b/fdroidserver/install.py index 632a4f91..ebdae6b7 100644 --- a/fdroidserver/install.py +++ b/fdroidserver/install.py @@ -1,7 +1,7 @@ #!/usr/bin/env python2 # -*- coding: utf-8 -*- # -# verify.py - part of the FDroid server tools +# install.py - part of the FDroid server tools # Copyright (C) 2013, Ciaran Gultnieks, ciaran@ciarang.com # Copyright (C) 2013-2014 Daniel Martí # diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index 3bc55c9b..168113f4 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# common.py - part of the FDroid server tools +# metadata.py - part of the FDroid server tools # Copyright (C) 2013, Ciaran Gultnieks, ciaran@ciarang.com # Copyright (C) 2013-2014 Daniel Martí # @@ -361,11 +361,13 @@ def parse_srclib(metafile, **kw): # Read all metadata. Returns a list of 'app' objects (which are dictionaries as # returned by the parse_metadata function. -def read_metadata(xref=True, package=None): +def read_metadata(xref=True, package=None, store=True): apps = [] + for basedir in ('metadata', 'tmp'): if not os.path.exists(basedir): os.makedirs(basedir) + for metafile in sorted(glob.glob(os.path.join('metadata', '*.txt'))): if package is None or metafile == os.path.join('metadata', package + '.txt'): try: diff --git a/fdroidserver/readmeta.py b/fdroidserver/readmeta.py new file mode 100644 index 00000000..e9665130 --- /dev/null +++ b/fdroidserver/readmeta.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python2 +# -*- coding: utf-8 -*- +# +# readmeta.py - part of the FDroid server tools +# Copyright (C) 2014 Daniel Martí +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +import os, metadata + +def main(): + + if not os.path.isdir('metadata'): + return + + metadata.read_metadata(xref=False, store=False) + +if __name__ == "__main__": + main() +