1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-07-04 16:30:12 +02:00
fdroidserver/fdroid
2014-02-09 12:39:43 +01:00

79 lines
2.2 KiB
Python
Executable File

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
#
# fdroid.py - part of the FDroid server tools
# Copyright (C) 2010-13, Ciaran Gultnieks, ciaran@ciarang.com
# Copyright (C) 2013-2014 Daniel Martí <mvdan@mvdan.cc>
#
# 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 <http://www.gnu.org/licenses/>.
import sys
import logging
commands = [
"build",
"init",
"install",
"update",
"publish",
"verify",
"checkupdates",
"import",
"readmeta",
"rewritemeta",
"lint",
"scanner",
"stats",
"server"]
def print_help():
print "Valid commands are:"
for command in commands:
print " " + command
print "Use '%s <command> --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)
verbose = any(s in sys.argv for s in ['-v', '--verbose'])
if verbose:
logging.basicConfig(format='%(levelname)s: %(message)s',
level=logging.DEBUG)
else:
logging.basicConfig(format='%(message)s',
level=logging.INFO)
# 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()