From f57dd83d1a2093e7a572e1a1320226e77c06d8d8 Mon Sep 17 00:00:00 2001 From: Sebastian Goscik Date: Thu, 25 Aug 2016 14:20:10 +0100 Subject: [PATCH] pylint fixes --- wlauto/commands/get-assets.py | 19 ++++++++++--------- wlauto/common/android/workload.py | 12 +++++++----- wlauto/utils/statedetect.py | 14 ++++++-------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/wlauto/commands/get-assets.py b/wlauto/commands/get-assets.py index 91cba997..52fbe839 100644 --- a/wlauto/commands/get-assets.py +++ b/wlauto/commands/get-assets.py @@ -14,7 +14,6 @@ # import sys -import logging import argparse from requests import ConnectionError, RequestException @@ -25,6 +24,7 @@ from wlauto.core.extension import Extension REMOTE_ASSETS_URL = 'https://github.com/ARM-software/wa-assets/raw/master/dependencies' + class GetAssetsCommand(Command): name = 'get-assets' description = ''' @@ -40,14 +40,14 @@ class GetAssetsCommand(Command): def initialize(self, context): self.parser.add_argument('-f', '--force', action='store_true', help='Always fetch the assets, even if matching versions exist in local cache.') - self.parser.add_argument('--url', metavar='URL', type=self.not_empty, default=self.assets_url, + self.parser.add_argument('--url', metavar='URL', type=not_empty, default=self.assets_url, help='''The location from which to download the files. If not provided, config setting ``remote_assets_url`` will be used if available, else uses the default REMOTE_ASSETS_URL parameter in the script.''') group = self.parser.add_mutually_exclusive_group(required=True) group.add_argument('-a', '--all', action='store_true', help='Download assets for all extensions found in the index. Cannot be used with -e.') - group.add_argument('-e', dest='exts', metavar='EXT', nargs='+', type=self.not_empty, + group.add_argument('-e', dest='exts', metavar='EXT', nargs='+', type=not_empty, help='One or more extensions whose assets to download. Cannot be used with --all.') def execute(self, args): @@ -100,12 +100,6 @@ class GetAssetsCommand(Command): for asset in all_assets[ext_name]: getter.get(File(owner, asset)) # Download the files - def not_empty(self, val): - if val: - return val - else: - raise argparse.ArgumentTypeError('Extension name cannot be blank') - def exit_with_error(self, message, code=1): self.logger.error(message) sys.exit(code) @@ -117,5 +111,12 @@ class NamedExtension(Extension): self.name = name +def not_empty(val): + if val: + return val + else: + raise argparse.ArgumentTypeError('Extension name cannot be blank') + + def _instantiate(cls, *args, **kwargs): return cls(*args, **kwargs) diff --git a/wlauto/common/android/workload.py b/wlauto/common/android/workload.py index 6be34ace..b33e1614 100644 --- a/wlauto/common/android/workload.py +++ b/wlauto/common/android/workload.py @@ -22,12 +22,11 @@ from wlauto.core.extension import Parameter from wlauto.core.workload import Workload from wlauto.core.resource import NO_ONE from wlauto.common.android.resources import ApkFile -from wlauto.common.resources import ExtensionAsset, Executable +from wlauto.common.resources import ExtensionAsset, Executable, File from wlauto.exceptions import WorkloadError, ResourceError, ConfigError, DeviceError from wlauto.utils.android import ApkInfo, ANDROID_NORMAL_PERMISSIONS, UNSUPPORTED_PACKAGES from wlauto.utils.types import boolean from wlauto.utils.revent import ReventParser -from wlauto import File import wlauto.utils.statedetect as state_detector import wlauto.common.android.resources @@ -346,6 +345,8 @@ class ReventWorkload(Workload): self.revent_run_file = None self.on_device_setup_revent = None self.on_device_run_revent = None + self.statedefs_dir = None + self.check_states = None def initialize(self, context): self.revent_setup_file = context.resolver.get(wlauto.common.android.resources.ReventFile(self, 'setup')) @@ -419,6 +420,7 @@ class ReventWorkload(Workload): msg = "State definitions or template files missing or invalid ({}). Skipping state detection." self.logger.warning(msg.format(e.message)) + class AndroidUiAutoBenchmark(UiAutomatorWorkload, AndroidBenchmark): supported_platforms = ['android'] @@ -525,7 +527,7 @@ class GameWorkload(ApkWorkload, ReventWorkload): ApkWorkload.init_resources(self, context) ReventWorkload.init_resources(self, context) if self.check_states: - self._check_statedetection_files(self, context) + self._check_statedetection_files(context) def setup(self, context): ApkWorkload.setup(self, context) @@ -535,7 +537,7 @@ class GameWorkload(ApkWorkload, ReventWorkload): # state detection check if it's enabled in the config if self.check_states: - self.check_state(self, context, "setup_complete") + self.check_state(context, "setup_complete") def do_post_install(self, context): ApkWorkload.do_post_install(self, context) @@ -558,7 +560,7 @@ class GameWorkload(ApkWorkload, ReventWorkload): def teardown(self, context): # state detection check if it's enabled in the config if self.check_states: - self.check_state(self, context, "run_complete") + self.check_state(context, "run_complete") if not self.saved_state_file: ApkWorkload.teardown(self, context) diff --git a/wlauto/utils/statedetect.py b/wlauto/utils/statedetect.py index f5f5e8fc..13463f61 100755 --- a/wlauto/utils/statedetect.py +++ b/wlauto/utils/statedetect.py @@ -42,8 +42,7 @@ except ImportError: class StateDefinitionError(RuntimeError): - def __init__(self, arg): - self.args = arg + pass def auto_canny(image, sigma=0.33): @@ -59,9 +58,9 @@ def auto_canny(image, sigma=0.33): return edged -def match_state(screenshot_file, defpath, state_definitions): +def match_state(screenshot_file, defpath, state_definitions): # pylint: disable=too-many-locals # check dependencies - if np == None or cv2 == None or imutils == None: + if np is None or cv2 is None or imutils is None: raise RuntimeError("State detection requires numpy, opencv (cv2) and imutils.") # check if file exists, then load screenshot into opencv and create edge map @@ -78,15 +77,14 @@ def match_state(screenshot_file, defpath, state_definitions): # check all template PNGs exist for template_png in template_list: - if not os.path.isfile(os.path.join(defpath, 'templates', template_png+'.png')): + if not os.path.isfile(os.path.join(defpath, 'templates', template_png + '.png')): raise StateDefinitionError("Missing template PNG file: " + template_png + ".png") # try to match each PNG matched_templates = [] for template_png in template_list: - template = cv2.imread(os.path.join(defpath, 'templates', template_png+'.png'), 0) + template = cv2.imread(os.path.join(defpath, 'templates', template_png + '.png'), 0) template_edge = auto_canny(template) - w, h = template.shape[::-1] res = cv2.matchTemplate(img_edge, template_edge, cv2.TM_CCOEFF_NORMED) threshold = 0.5 @@ -117,7 +115,7 @@ def verify_state(screenshot_file, state_defs_path, workload_phase): # load and parse state definition file statedefs_file = os.path.join(state_defs_path, 'definition.yaml') if not os.path.isfile(statedefs_file): - raise StateDefinitionError("Missing state definitions yaml file: "+statedefs_file) + raise StateDefinitionError("Missing state definitions yaml file: " + statedefs_file) with open(statedefs_file) as fh: state_definitions = yaml.load(fh)