From 8319b2ef973cebd479165ef9e61be94380195dd5 Mon Sep 17 00:00:00 2001 From: Adrian Sampson Date: Sat, 28 Nov 2020 17:05:17 -0500 Subject: [PATCH] Run Black on example.py --- example.py | 162 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 94 insertions(+), 68 deletions(-) diff --git a/example.py b/example.py index efe516f..d72a1d6 100755 --- a/example.py +++ b/example.py @@ -10,7 +10,7 @@ import logging from typing import List -STATE_FILE = 'wideq_state.json' +STATE_FILE = "wideq_state.json" LOGGER = logging.getLogger("wideq.example") @@ -20,9 +20,9 @@ def authenticate(gateway): """ login_url = gateway.oauth_url() - print('Log in here:') + print("Log in here:") print(login_url) - print('Then paste the URL where the browser is redirected:') + print("Then paste the URL where the browser is redirected:") callback_url = input() return wideq.Auth.from_url(gateway, callback_url) @@ -31,7 +31,7 @@ def ls(client): """List the user's devices.""" for device in client.devices: - print('{0.id}: {0.name} ({0.type.name} {0.model_id})'.format(device)) + print("{0.id}: {0.name} ({0.type.name} {0.model_id})".format(device)) def gen_mon(client, device_id): @@ -46,27 +46,33 @@ def gen_mon(client, device_id): try: while True: time.sleep(1) - print('Polling...') + print("Polling...") data = mon.poll() if data: try: res = model.decode_monitor(data) except ValueError: - print('status data: {!r}'.format(data)) + print("status data: {!r}".format(data)) else: for key, value in res.items(): try: desc = model.value(key) except KeyError: - print('- {}: {}'.format(key, value)) + print("- {}: {}".format(key, value)) if isinstance(desc, wideq.EnumValue): - print('- {}: {}'.format( - key, desc.options.get(value, value) - )) + print( + "- {}: {}".format( + key, desc.options.get(value, value) + ) + ) elif isinstance(desc, wideq.RangeValue): - print('- {0}: {1} ({2.min}-{2.max})'.format( - key, value, desc, - )) + print( + "- {0}: {1} ({2.min}-{2.max})".format( + key, + value, + desc, + ) + ) except KeyboardInterrupt: pass @@ -80,7 +86,7 @@ def ac_mon(ac): try: ac.monitor_start() except wideq.core.NotConnectedError: - print('Device not available.') + print("Device not available.") return try: @@ -89,18 +95,16 @@ def ac_mon(ac): state = ac.poll() if state: print( - '{1}; ' - '{0.mode.name}; ' - 'cur {0.temp_cur_f}°F; ' - 'cfg {0.temp_cfg_f}°F; ' - 'fan speed {0.fan_speed.name}' - .format( - state, - 'on' if state.is_on else 'off' + "{1}; " + "{0.mode.name}; " + "cur {0.temp_cur_f}°F; " + "cfg {0.temp_cfg_f}°F; " + "fan speed {0.fan_speed.name}".format( + state, "on" if state.is_on else "off" ) ) else: - print('no state. Wait 1 more second.') + print("no state. Wait 1 more second.") except KeyboardInterrupt: pass @@ -121,8 +125,8 @@ def mon(client, device_id): class UserError(Exception): - """A user-visible command-line error. - """ + """A user-visible command-line error.""" + def __init__(self, msg): self.msg = msg @@ -147,11 +151,13 @@ def set_temp(client, device_id, temp): ac.set_fahrenheit(int(temp)) elif device.type == wideq.client.DeviceType.REFRIGERATOR: refrigerator = wideq.RefrigeratorDevice( - client, _force_device(client, device_id)) + client, _force_device(client, device_id) + ) refrigerator.set_temp_refrigerator_c(int(temp)) else: raise UserError( - 'set-temp only suported for AC or refrigerator devices') + "set-temp only suported for AC or refrigerator devices" + ) def set_temp_freezer(client, device_id, temp): @@ -161,18 +167,20 @@ def set_temp_freezer(client, device_id, temp): if device.type == wideq.client.DeviceType.REFRIGERATOR: refrigerator = wideq.RefrigeratorDevice( - client, _force_device(client, device_id)) + client, _force_device(client, device_id) + ) refrigerator.set_temp_freezer_c(int(temp)) else: raise UserError( - 'set-temp-freezer only suported for refrigerator devices') + "set-temp-freezer only suported for refrigerator devices" + ) def turn(client, device_id, on_off): """Turn on/off an AC device.""" ac = wideq.ACDevice(client, _force_device(client, device_id)) - ac.set_on(on_off == 'on') + ac.set_on(on_off == "on") def ac_config(client, device_id): @@ -190,26 +198,30 @@ def ac_config(client, device_id): EXAMPLE_COMMANDS = { - 'ls': ls, - 'mon': mon, - 'set-temp': set_temp, - 'set-temp-freezer': set_temp_freezer, - 'turn': turn, - 'ac-config': ac_config, + "ls": ls, + "mon": mon, + "set-temp": set_temp, + "set-temp-freezer": set_temp_freezer, + "turn": turn, + "ac-config": ac_config, } def example_command(client, cmd, args): func = EXAMPLE_COMMANDS.get(cmd) if not func: - LOGGER.error("Invalid command: '%s'.\n" - "Use one of: %s", cmd, ', '.join(EXAMPLE_COMMANDS)) + LOGGER.error( + "Invalid command: '%s'.\n" "Use one of: %s", + cmd, + ", ".join(EXAMPLE_COMMANDS), + ) return func(client, *args) -def example(country: str, language: str, verbose: bool, - cmd: str, args: List[str]) -> None: +def example( + country: str, language: str, verbose: bool, cmd: str, args: List[str] +) -> None: if verbose: wideq.set_log_level(logging.DEBUG) @@ -220,8 +232,9 @@ def example(country: str, language: str, verbose: bool, state = json.load(f) except IOError: state = {} - LOGGER.debug("No state file found (tried: '%s')", - os.path.abspath(STATE_FILE)) + LOGGER.debug( + "No state file found (tried: '%s')", os.path.abspath(STATE_FILE) + ) client = wideq.Client.load(state) if country: @@ -240,7 +253,7 @@ def example(country: str, language: str, verbose: bool, break except wideq.NotLoggedInError: - LOGGER.info('Session expired.') + LOGGER.info("Session expired.") client.refresh() except UserError as exc: @@ -249,54 +262,67 @@ def example(country: str, language: str, verbose: bool, # Save the updated state. state = client.dump() - with open(STATE_FILE, 'w') as f: + with open(STATE_FILE, "w") as f: json.dump(state, f) LOGGER.debug("Wrote state file '%s'", os.path.abspath(STATE_FILE)) def main() -> None: - """The main command-line entry point. - """ + """The main command-line entry point.""" parser = argparse.ArgumentParser( - description='Interact with the LG SmartThinQ API.' + description="Interact with the LG SmartThinQ API." + ) + parser.add_argument( + "cmd", + metavar="CMD", + nargs="?", + default="ls", + help=f'one of: {", ".join(EXAMPLE_COMMANDS)}', + ) + parser.add_argument( + "args", metavar="ARGS", nargs="*", help="subcommand arguments" ) - parser.add_argument('cmd', metavar='CMD', nargs='?', default='ls', - help=f'one of: {", ".join(EXAMPLE_COMMANDS)}') - parser.add_argument('args', metavar='ARGS', nargs='*', - help='subcommand arguments') parser.add_argument( - '--country', '-c', - help=f'country code for account (default: {wideq.DEFAULT_COUNTRY})', - default=wideq.DEFAULT_COUNTRY + "--country", + "-c", + help=f"country code for account (default: {wideq.DEFAULT_COUNTRY})", + default=wideq.DEFAULT_COUNTRY, ) parser.add_argument( - '--language', '-l', - help=f'language code for the API (default: {wideq.DEFAULT_LANGUAGE})', - default=wideq.DEFAULT_LANGUAGE + "--language", + "-l", + help=f"language code for the API (default: {wideq.DEFAULT_LANGUAGE})", + default=wideq.DEFAULT_LANGUAGE, ) parser.add_argument( - '--verbose', '-v', - help='verbose mode to help debugging', - action='store_true', default=False + "--verbose", + "-v", + help="verbose mode to help debugging", + action="store_true", + default=False, ) args = parser.parse_args() country_regex = re.compile(r"^[A-Z]{2,3}$") if not country_regex.match(args.country): - LOGGER.error("Country must be two or three letters" - " all upper case (e.g. US, NO, KR) got: '%s'", - args.country) + LOGGER.error( + "Country must be two or three letters" + " all upper case (e.g. US, NO, KR) got: '%s'", + args.country, + ) exit(1) language_regex = re.compile(r"^[a-z]{2,3}-[A-Z]{2,3}$") if not language_regex.match(args.language): - LOGGER.error("Language must be a combination of language" - " and country (e.g. en-US, no-NO, kr-KR)" - " got: '%s'", - args.language) + LOGGER.error( + "Language must be a combination of language" + " and country (e.g. en-US, no-NO, kr-KR)" + " got: '%s'", + args.language, + ) exit(1) example(args.country, args.language, args.verbose, args.cmd, args.args) -if __name__ == '__main__': +if __name__ == "__main__": main()