remove single-letter variable names
This commit is contained in:
committed by
BethanyG
parent
4e2aa32fe6
commit
71645ff525
32
bin/data.py
32
bin/data.py
@@ -10,38 +10,38 @@ from typing import List, Any, Dict, Type
|
|||||||
|
|
||||||
def _custom_dataclass_init(self, *args, **kwargs):
|
def _custom_dataclass_init(self, *args, **kwargs):
|
||||||
# print(self.__class__.__name__, "__init__")
|
# print(self.__class__.__name__, "__init__")
|
||||||
names = [f.name for f in fields(self)]
|
names = [field.name for field in fields(self)]
|
||||||
used_names = set()
|
used_names = set()
|
||||||
|
|
||||||
# Handle positional arguments
|
# Handle positional arguments
|
||||||
for v in args:
|
for value in args:
|
||||||
try:
|
try:
|
||||||
k = names.pop(0)
|
name = names.pop(0)
|
||||||
except IndexError:
|
except IndexError:
|
||||||
raise TypeError(f"__init__() given too many positional arguments")
|
raise TypeError(f"__init__() given too many positional arguments")
|
||||||
# print(f'setting {k}={v}')
|
# print(f'setting {k}={v}')
|
||||||
setattr(self, k, v)
|
setattr(self, name, value)
|
||||||
used_names.add(k)
|
used_names.add(name)
|
||||||
|
|
||||||
# Handle keyword arguments
|
# Handle keyword arguments
|
||||||
for k, v in kwargs.items():
|
for name, value in kwargs.items():
|
||||||
if k in names:
|
if name in names:
|
||||||
# print(f'setting {k}={v}')
|
# print(f'setting {k}={v}')
|
||||||
setattr(self, k, v)
|
setattr(self, name, value)
|
||||||
used_names.add(k)
|
used_names.add(name)
|
||||||
elif k in used_names:
|
elif name in used_names:
|
||||||
raise TypeError(f"__init__() got multiple values for argument '{k}'")
|
raise TypeError(f"__init__() got multiple values for argument '{name}'")
|
||||||
else:
|
else:
|
||||||
raise TypeError(
|
raise TypeError(
|
||||||
f"Unrecognized field '{k}' for dataclass {self.__class__.__name__}."
|
f"Unrecognized field '{name}' for dataclass {self.__class__.__name__}."
|
||||||
"\nIf this field is valid, please add it to the dataclass in data.py."
|
"\nIf this field is valid, please add it to the dataclass in data.py."
|
||||||
"\nIf adding an object-type field, please create a new dataclass for it."
|
"\nIf adding an object-type field, please create a new dataclass for it."
|
||||||
)
|
)
|
||||||
|
|
||||||
# Check for missing positional arguments
|
# Check for missing positional arguments
|
||||||
missing = [
|
missing = [
|
||||||
f"'{f.name}'" for f in fields(self)
|
f"'{field.name}'" for field in fields(self)
|
||||||
if isinstance(f.default, dataclasses._MISSING_TYPE) and f.name not in used_names
|
if isinstance(field.default, dataclasses._MISSING_TYPE) and field.name not in used_names
|
||||||
]
|
]
|
||||||
if len(missing) == 1:
|
if len(missing) == 1:
|
||||||
raise TypeError(f"__init__() missing 1 required positional argument: {missing[0]}")
|
raise TypeError(f"__init__() missing 1 required positional argument: {missing[0]}")
|
||||||
@@ -321,8 +321,8 @@ class Config:
|
|||||||
except IOError:
|
except IOError:
|
||||||
print(f"FAIL: {path} file not found")
|
print(f"FAIL: {path} file not found")
|
||||||
raise SystemExit(1)
|
raise SystemExit(1)
|
||||||
except TypeError as e:
|
except TypeError as ex:
|
||||||
print(f"FAIL: {e}")
|
print(f"FAIL: {ex}")
|
||||||
raise SystemExit(1)
|
raise SystemExit(1)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user