#!/usr/bin/env python2 # -*- coding: utf-8 -*- # # fdroid.py - part of the FDroid server tools # Copyright (C) 2010-12, Ciaran Gultnieks, ciaran@ciarang.com # # 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 sys import os commands = [ "build", "update", "publish", "verify", "checkupdates", "import", "rewritemeta", "scanner", "stats", "server"] def print_help(): print "Valid commands are:" for command in commands: print " " + command print "Use '%s --help' for more info about that command."%sys.argv[0] def main(): if len(sys.argv) <= 1: print_help() sys.exit(0) command = sys.argv[1] if not command in commands: if command not in ('-h', '--help'): print "Command '" + command + "' not recognised.\n" print_help() sys.exit(1) if not os.path.isfile('config.py'): print "Missing config file - is this a repo directory?" sys.exit(2) for basedir in ('metadata', 'tmp'): if not os.path.exists(basedir): os.makedirs(basedir) # Trick optparse into displaying the right usage when --help is used. sys.argv[0] += ' ' + command del sys.argv[1] mod = __import__('fdroidserver.' + command, None, None, [command]) mod.main() sys.exit(0) if __name__ == "__main__": main()