#!/usr/bin/env python3 # # an fdroid plugin for resetting app VCSs to the latest version for the metadata import argparse import logging from fdroidserver import _, common, metadata from fdroidserver.exception import VCSException fdroid_summary = 'reset app VCSs to the latest version' def main(): parser = argparse.ArgumentParser( usage="%(prog)s [options] [APPID[:VERCODE] [APPID[:VERCODE] ...]]" ) common.setup_global_opts(parser) parser.add_argument( "appid", nargs='*', help=_("applicationId with optional versionCode in the form APPID[:VERCODE]"), ) metadata.add_metadata_arguments(parser) options = parser.parse_args() common.options = options pkgs = common.read_pkg_args(options.appid, True) allapps = metadata.read_metadata(pkgs) apps = common.read_app_args(options.appid, allapps, True) common.read_config(options) for appid, app in apps.items(): if "Builds" in app and len(app["Builds"]) > 0: build = app.get('Builds')[-1] logging.info(_("Cleaning up '{appid}' VCS").format(appid=appid)) try: vcs, build_dir = common.setup_vcs(app) vcs.gotorevision(build.commit) if build.submodules: vcs.initsubmodules() except VCSException: pass if __name__ == "__main__": main()