From dced9dff46dce18935b8dad20e576289af8328f8 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Sep 29 2017 12:13:38 +0000 Subject: Ensure that the script is given an place where to put its output Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure_poc.py b/pagure_poc.py index 93d042f..026c8bb 100644 --- a/pagure_poc.py +++ b/pagure_poc.py @@ -25,7 +25,7 @@ from pagure.lib import model # noqa: E402 _log = logging.getLogger(__name__) -def main(): +def main(args): """ Creates a JSON blob containing the following structure: { namespace: { @@ -35,6 +35,18 @@ def main(): ... } """ + if len(args) != 1: + print( + 'Please specify the folder where to place the output, and only' + ' that') + return 1 + if not os.path.exists(args[0]): + print('%s does not appear to exist' % args[0]) + return 2 + if not os.path.isdir(args[0]): + print('%s does not appear to be a directory' % args[0]) + return 3 + query = pagure.SESSION.query( model.Project.namespace, model.Project.name, model.User.user ).filter( @@ -47,10 +59,10 @@ def main(): namespace, package, admin = entry output[namespace][package] = admin - with open('pagure_poc.json', 'w') as stream: + with open(os.path.join(args[0], 'pagure_poc.json'), 'w') as stream: json.dump(output, stream, indent=4, sort_keys=True) if __name__ == '__main__': import sys - sys.exit(main()) + sys.exit(main(sys.argv[1:]))