From 96c5afa03fcc3355c4d2014d1c5f682a48d40aec Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Mart=C3=AD?= Date: Sun, 2 Feb 2014 15:11:26 +0100 Subject: [PATCH] New command: readmeta, like lint but without warnings --- fdroid | 1 + fdroidserver/metadata.py | 4 +++- fdroidserver/readmeta.py | 31 +++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 fdroidserver/readmeta.py diff --git a/fdroid b/fdroid index 69cc41e7..30404542 100755 --- a/fdroid +++ b/fdroid @@ -29,6 +29,7 @@ commands = [ "verify", "checkupdates", "import", + "readmeta", "rewritemeta", "lint", "scanner", diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index b8e66c9d..ceac96e7 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -360,11 +360,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() + -- 2.30.2