From 8847a149e346cb24a5d47f72b61000080a5a8639 Mon Sep 17 00:00:00 2001 From: Peter Badida Date: Tue, 20 Dec 2016 02:47:21 +0100 Subject: [PATCH] Switch --permission to accept >=1 parameters When used with a single value -> ['param'], two or more values -> ['param1', 'param2'], two or more --permission args -> [['param1', 'param2'], ['param3', 'param4']] which is later flattened. Closes #673 --- pythonforandroid/bootstraps/pygame/build/build.py | 5 ++++- pythonforandroid/bootstraps/sdl2/build/build.py | 5 ++++- pythonforandroid/bootstraps/webview/build/build.py | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/pythonforandroid/bootstraps/pygame/build/build.py b/pythonforandroid/bootstraps/pygame/build/build.py index 539cc952c0..730ad827f6 100755 --- a/pythonforandroid/bootstraps/pygame/build/build.py +++ b/pythonforandroid/bootstraps/pygame/build/build.py @@ -415,7 +415,7 @@ def parse_args(args=None): 'Usually one of "landscape", "portrait" or ' '"sensor"')) ap.add_argument('--permission', dest='permissions', action='append', - help='The permissions to give this app.') + help='The permissions to give this app.', nargs='+') ap.add_argument('--ignore-path', dest='ignore_path', action='append', help='Ignore path when building the app') ap.add_argument('--icon', dest='icon', @@ -488,6 +488,9 @@ def parse_args(args=None): if args.permissions is None: args.permissions = [] + elif args.permissions: + if isinstance(args.permissions[0], list): + args.permissions = [p for perm in args.permissions for p in perm] if args.ignore_path is None: args.ignore_path = [] diff --git a/pythonforandroid/bootstraps/sdl2/build/build.py b/pythonforandroid/bootstraps/sdl2/build/build.py index bb785f220f..d7bff55b28 100755 --- a/pythonforandroid/bootstraps/sdl2/build/build.py +++ b/pythonforandroid/bootstraps/sdl2/build/build.py @@ -417,7 +417,7 @@ def parse_args(args=None): ap.add_argument('--icon', dest='icon', help='A png file to use as the icon for the application.') ap.add_argument('--permission', dest='permissions', action='append', - help='The permissions to give this app.') + help='The permissions to give this app.', nargs='+') ap.add_argument('--meta-data', dest='meta_data', action='append', help='Custom key=value to add in application metadata') ap.add_argument('--presplash', dest='presplash', @@ -488,6 +488,9 @@ def parse_args(args=None): if args.permissions is None: args.permissions = [] + elif args.permissions: + if isinstance(args.permissions[0], list): + args.permissions = [p for perm in args.permissions for p in perm] if args.meta_data is None: args.meta_data = [] diff --git a/pythonforandroid/bootstraps/webview/build/build.py b/pythonforandroid/bootstraps/webview/build/build.py index 20101863c1..44a539302a 100755 --- a/pythonforandroid/bootstraps/webview/build/build.py +++ b/pythonforandroid/bootstraps/webview/build/build.py @@ -404,7 +404,7 @@ def parse_args(args=None): ap.add_argument('--icon', dest='icon', help='A png file to use as the icon for the application.') ap.add_argument('--permission', dest='permissions', action='append', - help='The permissions to give this app.') + help='The permissions to give this app.', nargs='+') ap.add_argument('--meta-data', dest='meta_data', action='append', help='Custom key=value to add in application metadata') ap.add_argument('--presplash', dest='presplash', @@ -465,6 +465,9 @@ def parse_args(args=None): if args.permissions is None: args.permissions = [] + elif args.permissions: + if isinstance(args.permissions[0], list): + args.permissions = [p for perm in args.permissions for p in perm] if args.meta_data is None: args.meta_data = []