From: Daniel Martí Date: Sun, 2 Feb 2014 14:11:26 +0000 (+0100) Subject: New command: readmeta, like lint but without warnings X-Git-Tag: 0.2~336^2 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=96c5afa03fcc3355c4d2014d1c5f682a48d40aec;p=fdroidserver.git New command: readmeta, like lint but without warnings --- 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() +