all: Go back to using default ruff quote style.
Commit dc2fcfcc55 seems to have accidentally
changed the ruff quote style to "preserve", instead of keeping it at the
default which is "double".
Put it back to the default and update relevant .py files with this rule.
Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
parent
6a4306a0df
commit
7729e80fdd
16 changed files with 45 additions and 46 deletions
|
|
@ -68,4 +68,3 @@ mccabe.max-complexity = 40
|
||||||
# repl_: not real python files
|
# repl_: not real python files
|
||||||
# viper_args: uses f(*)
|
# viper_args: uses f(*)
|
||||||
exclude = ["tests/basics/*.py", "tests/*/repl_*.py", "tests/micropython/viper_args.py"]
|
exclude = ["tests/basics/*.py", "tests/*/repl_*.py", "tests/micropython/viper_args.py"]
|
||||||
quote-style = "preserve"
|
|
||||||
|
|
|
||||||
|
|
@ -5,5 +5,5 @@ cause: MicroPython is optimised for code space.
|
||||||
workaround: Always use balanced braces and brackets in expressions inside f-strings
|
workaround: Always use balanced braces and brackets in expressions inside f-strings
|
||||||
"""
|
"""
|
||||||
|
|
||||||
print(f'{"hello { world"}')
|
print(f"{'hello { world'}")
|
||||||
print(f'{"hello ] world"}')
|
print(f"{'hello ] world'}")
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ l.pop()
|
||||||
|
|
||||||
# Try to compress. This will try to allocate a large window and fail.
|
# Try to compress. This will try to allocate a large window and fail.
|
||||||
try:
|
try:
|
||||||
g.write('test')
|
g.write("test")
|
||||||
except MemoryError:
|
except MemoryError:
|
||||||
print("MemoryError")
|
print("MemoryError")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ except ValueError:
|
||||||
|
|
||||||
# incomplete array declaration
|
# incomplete array declaration
|
||||||
try:
|
try:
|
||||||
my_print(json.loads('[0,'))
|
my_print(json.loads("[0,"))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print("ValueError")
|
print("ValueError")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,4 +13,4 @@ print(json.loads("9111222333444555666"))
|
||||||
print(json.loads("-9111222333444555666"))
|
print(json.loads("-9111222333444555666"))
|
||||||
print(json.loads("9111222333444555666"))
|
print(json.loads("9111222333444555666"))
|
||||||
print(json.loads("-9111222333444555666"))
|
print(json.loads("-9111222333444555666"))
|
||||||
print(json.loads("[\"9111222333444555666777\",9111222333444555666]"))
|
print(json.loads('["9111222333444555666777",9111222333444555666]'))
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ client_socket = DummySocket()
|
||||||
dtls_server_ctx = SSLContext(PROTOCOL_DTLS_SERVER)
|
dtls_server_ctx = SSLContext(PROTOCOL_DTLS_SERVER)
|
||||||
dtls_server_ctx.verify_mode = CERT_NONE
|
dtls_server_ctx.verify_mode = CERT_NONE
|
||||||
dtls_server = dtls_server_ctx.wrap_socket(
|
dtls_server = dtls_server_ctx.wrap_socket(
|
||||||
server_socket, do_handshake_on_connect=False, client_id=b'dummy_client_id'
|
server_socket, do_handshake_on_connect=False, client_id=b"dummy_client_id"
|
||||||
)
|
)
|
||||||
print("Wrapped DTLS Server")
|
print("Wrapped DTLS Server")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,6 @@ for function_name, function, test_vals in functions:
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
ans = str(e)
|
ans = str(e)
|
||||||
# a tiny error in REPR_C value for 1.5204998778 causes a wrong rounded value
|
# a tiny error in REPR_C value for 1.5204998778 causes a wrong rounded value
|
||||||
if is_REPR_C and function_name == 'erfc' and ans == "1.521":
|
if is_REPR_C and function_name == "erfc" and ans == "1.521":
|
||||||
ans = "1.52"
|
ans = "1.52"
|
||||||
print("{}({:.4g}) = {}".format(function_name, value, ans))
|
print("{}({:.4g}) = {}".format(function_name, value, ans))
|
||||||
|
|
|
||||||
|
|
@ -7,39 +7,39 @@ try:
|
||||||
except TypeError:
|
except TypeError:
|
||||||
# 2-argument version of next() not supported
|
# 2-argument version of next() not supported
|
||||||
# we are probably not at MICROPY_CONFIG_ROM_LEVEL_BASIC_FEATURES
|
# we are probably not at MICROPY_CONFIG_ROM_LEVEL_BASIC_FEATURES
|
||||||
print('SKIP')
|
print("SKIP")
|
||||||
raise SystemExit
|
raise SystemExit
|
||||||
|
|
||||||
# 1. test default visibility
|
# 1. test default visibility
|
||||||
from pkgstar_default import *
|
from pkgstar_default import *
|
||||||
|
|
||||||
print('visibleFun' in globals())
|
print("visibleFun" in globals())
|
||||||
print('VisibleClass' in globals())
|
print("VisibleClass" in globals())
|
||||||
print('_hiddenFun' in globals())
|
print("_hiddenFun" in globals())
|
||||||
print('_HiddenClass' in globals())
|
print("_HiddenClass" in globals())
|
||||||
print(visibleFun())
|
print(visibleFun())
|
||||||
|
|
||||||
# 2. test explicit visibility as defined by __all__ (as an array)
|
# 2. test explicit visibility as defined by __all__ (as an array)
|
||||||
from pkgstar_all_array import *
|
from pkgstar_all_array import *
|
||||||
|
|
||||||
print('publicFun' in globals())
|
print("publicFun" in globals())
|
||||||
print('PublicClass' in globals())
|
print("PublicClass" in globals())
|
||||||
print('unlistedFun' in globals())
|
print("unlistedFun" in globals())
|
||||||
print('UnlistedClass' in globals())
|
print("UnlistedClass" in globals())
|
||||||
print('_privateFun' in globals())
|
print("_privateFun" in globals())
|
||||||
print('_PrivateClass' in globals())
|
print("_PrivateClass" in globals())
|
||||||
print(publicFun())
|
print(publicFun())
|
||||||
# test dynamic import as used in asyncio
|
# test dynamic import as used in asyncio
|
||||||
print('dynamicFun' in globals())
|
print("dynamicFun" in globals())
|
||||||
print(dynamicFun())
|
print(dynamicFun())
|
||||||
|
|
||||||
# 3. test explicit visibility as defined by __all__ (as an tuple)
|
# 3. test explicit visibility as defined by __all__ (as an tuple)
|
||||||
from pkgstar_all_tuple import *
|
from pkgstar_all_tuple import *
|
||||||
|
|
||||||
print('publicFun2' in globals())
|
print("publicFun2" in globals())
|
||||||
print('PublicClass2' in globals())
|
print("PublicClass2" in globals())
|
||||||
print('unlistedFun2' in globals())
|
print("unlistedFun2" in globals())
|
||||||
print('UnlistedClass2' in globals())
|
print("UnlistedClass2" in globals())
|
||||||
print(publicFun2())
|
print(publicFun2())
|
||||||
|
|
||||||
# 4. test reporting of missing entries in __all__
|
# 4. test reporting of missing entries in __all__
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
__all__ = ['publicFun', 'PublicClass', 'dynamicFun']
|
__all__ = ["publicFun", "PublicClass", "dynamicFun"]
|
||||||
|
|
||||||
|
|
||||||
# Definitions below should always be imported by a star import
|
# Definitions below should always be imported by a star import
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
__all__ = ('existingFun', 'missingFun')
|
__all__ = ("existingFun", "missingFun")
|
||||||
|
|
||||||
|
|
||||||
def existingFun():
|
def existingFun():
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
__all__ = ('publicFun2', 'PublicClass2')
|
__all__ = ("publicFun2", "PublicClass2")
|
||||||
|
|
||||||
|
|
||||||
# Definitions below should always be imported by a star import
|
# Definitions below should always be imported by a star import
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ import threading
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
# Maximum time to run a single test, in seconds.
|
# Maximum time to run a single test, in seconds.
|
||||||
TEST_TIMEOUT = float(os.environ.get('MICROPY_TEST_TIMEOUT', 30))
|
TEST_TIMEOUT = float(os.environ.get("MICROPY_TEST_TIMEOUT", 30))
|
||||||
|
|
||||||
# See stackoverflow.com/questions/2632199: __file__ nor sys.argv[0]
|
# See stackoverflow.com/questions/2632199: __file__ nor sys.argv[0]
|
||||||
# are guaranteed to always work, this one should though.
|
# are guaranteed to always work, this one should though.
|
||||||
|
|
@ -411,7 +411,7 @@ def run_micropython(pyb, args, test_file, test_file_abspath, is_special=False):
|
||||||
def send_get(what):
|
def send_get(what):
|
||||||
# Detect {\x00} pattern and convert to ctrl-key codes.
|
# Detect {\x00} pattern and convert to ctrl-key codes.
|
||||||
ctrl_code = lambda m: bytes([int(m.group(1))])
|
ctrl_code = lambda m: bytes([int(m.group(1))])
|
||||||
what = re.sub(rb'{\\x(\d\d)}', ctrl_code, what)
|
what = re.sub(rb"{\\x(\d\d)}", ctrl_code, what)
|
||||||
|
|
||||||
os.write(master, what)
|
os.write(master, what)
|
||||||
return get()
|
return get()
|
||||||
|
|
|
||||||
|
|
@ -309,7 +309,7 @@ def do_filesystem_recursive_rm(state, path, args):
|
||||||
os.path.join(r_cwd, path) if not os.path.isabs(path) else path
|
os.path.join(r_cwd, path) if not os.path.isabs(path) else path
|
||||||
)
|
)
|
||||||
if isinstance(state.transport, SerialTransport) and abs_path.startswith(
|
if isinstance(state.transport, SerialTransport) and abs_path.startswith(
|
||||||
f'{SerialTransport.fs_hook_mount}/'
|
f"{SerialTransport.fs_hook_mount}/"
|
||||||
):
|
):
|
||||||
raise CommandError(
|
raise CommandError(
|
||||||
f"rm -r not permitted on {SerialTransport.fs_hook_mount} directory"
|
f"rm -r not permitted on {SerialTransport.fs_hook_mount} directory"
|
||||||
|
|
@ -335,11 +335,11 @@ def do_filesystem_recursive_rm(state, path, args):
|
||||||
|
|
||||||
|
|
||||||
def human_size(size, decimals=1):
|
def human_size(size, decimals=1):
|
||||||
for unit in ['B', 'K', 'M', 'G', 'T']:
|
for unit in ["B", "K", "M", "G", "T"]:
|
||||||
if size < 1024.0 or unit == 'T':
|
if size < 1024.0 or unit == "T":
|
||||||
break
|
break
|
||||||
size /= 1024.0
|
size /= 1024.0
|
||||||
return f"{size:.{decimals}f}{unit}" if unit != 'B' else f"{int(size)}"
|
return f"{size:.{decimals}f}{unit}" if unit != "B" else f"{int(size)}"
|
||||||
|
|
||||||
|
|
||||||
def do_filesystem_tree(state, path, args):
|
def do_filesystem_tree(state, path, args):
|
||||||
|
|
|
||||||
|
|
@ -598,7 +598,7 @@ def main():
|
||||||
cmd == "fs"
|
cmd == "fs"
|
||||||
and len(command_args) >= 1
|
and len(command_args) >= 1
|
||||||
and command_args[0] in ("ls", "tree")
|
and command_args[0] in ("ls", "tree")
|
||||||
and sum(1 for a in command_args if not a.startswith('-')) == 1
|
and sum(1 for a in command_args if not a.startswith("-")) == 1
|
||||||
):
|
):
|
||||||
command_args.append("")
|
command_args.append("")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -110,7 +110,7 @@ def _is_disconnect_exception(exception):
|
||||||
False otherwise.
|
False otherwise.
|
||||||
"""
|
"""
|
||||||
if isinstance(exception, OSError):
|
if isinstance(exception, OSError):
|
||||||
if hasattr(exception, 'args') and len(exception.args) > 0:
|
if hasattr(exception, "args") and len(exception.args) > 0:
|
||||||
# IO error, device disappeared
|
# IO error, device disappeared
|
||||||
if exception.args[0] == 5:
|
if exception.args[0] == 5:
|
||||||
return True
|
return True
|
||||||
|
|
|
||||||
|
|
@ -1521,31 +1521,31 @@ def parse_linkerscript(source):
|
||||||
symbols = {}
|
symbols = {}
|
||||||
|
|
||||||
LINE_REGEX = re.compile(
|
LINE_REGEX = re.compile(
|
||||||
r'^(?P<weak>PROVIDE\()?' # optional weak marker start
|
r"^(?P<weak>PROVIDE\()?" # optional weak marker start
|
||||||
r'(?P<symbol>[a-zA-Z_]\w*)' # symbol name
|
r"(?P<symbol>[a-zA-Z_]\w*)" # symbol name
|
||||||
r'=0x(?P<address>[\da-fA-F]{1,8})*' # symbol address
|
r"=0x(?P<address>[\da-fA-F]{1,8})*" # symbol address
|
||||||
r'(?(weak)\));$', # optional weak marker end and line terminator
|
r"(?(weak)\));$", # optional weak marker end and line terminator
|
||||||
re.ASCII,
|
re.ASCII,
|
||||||
)
|
)
|
||||||
|
|
||||||
inside_comment = False
|
inside_comment = False
|
||||||
for line in (line.strip() for line in source.readlines()):
|
for line in (line.strip() for line in source.readlines()):
|
||||||
if line.startswith('/*') and not inside_comment:
|
if line.startswith("/*") and not inside_comment:
|
||||||
if not line.endswith('*/'):
|
if not line.endswith("*/"):
|
||||||
inside_comment = True
|
inside_comment = True
|
||||||
continue
|
continue
|
||||||
if inside_comment:
|
if inside_comment:
|
||||||
if line.endswith('*/'):
|
if line.endswith("*/"):
|
||||||
inside_comment = False
|
inside_comment = False
|
||||||
continue
|
continue
|
||||||
if line.startswith('//'):
|
if line.startswith("//"):
|
||||||
continue
|
continue
|
||||||
match = LINE_REGEX.match(''.join(line.split()))
|
match = LINE_REGEX.match("".join(line.split()))
|
||||||
if not match:
|
if not match:
|
||||||
continue
|
continue
|
||||||
tokens = match.groupdict()
|
tokens = match.groupdict()
|
||||||
symbol = tokens['symbol']
|
symbol = tokens["symbol"]
|
||||||
address = int(tokens['address'], 16)
|
address = int(tokens["address"], 16)
|
||||||
if symbol in symbols:
|
if symbol in symbols:
|
||||||
raise ValueError(f"Symbol {symbol} already defined")
|
raise ValueError(f"Symbol {symbol} already defined")
|
||||||
symbols[symbol] = address
|
symbols[symbol] = address
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue