Поэтому я использую vininfo для заполнения информации о некоторых единицах из внешней БД, используя только их VIN, и для работы с этими данными я конвертирую ее в dict
, используя annotate()
или annotate().items()
, но сценарий разбивается на
TypeError: cannot unpack non-iterable NoneType object
Попытка с использованием hasattr(obj, 'attr')
, но он взрывается там с той же ошибкой. Невозможно выполнить итерацию с for..in
, поскольку объект не является итерируемым TypeError: 'NoneType' object is not iterable
.
Я пытался использовать версию CLI с тем же VIN, и он выдает ту же ошибку cannot unpack
.
Дело в том, что этот VIN, который я использую для проверки, пропускает некоторые данные .transmission
, если быть точным (но я предполагаю, что это произойдет с любым другим полем), возможно, из-за опечатки при заполнении регистрации форма, поэтому я пытаюсь игнорировать это поле, но не могу, потому что оно не существует!
VIN: 1NKZXPEX4GJ109010
Traceback выглядит следующим образом:
Traceback (most recent call last):
File "c:\program files\python37\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\program files\python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Program Files\Python37\Scripts\vininfo.exe\__main__.py", line 7, in <module>
File "c:\program files\python37\lib\site-packages\vininfo\cli.py", line 51, in main
entry_point(obj={})
File "c:\program files\python37\lib\site-packages\click\core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "c:\program files\python37\lib\site-packages\click\core.py", line 717, in main
rv = self.invoke(ctx)
File "c:\program files\python37\lib\site-packages\click\core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "c:\program files\python37\lib\site-packages\click\core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "c:\program files\python37\lib\site-packages\click\core.py", line 555, in invoke
return callback(*args, **kwargs)
File "c:\program files\python37\lib\site-packages\vininfo\cli.py", line 35, in show
out(details)
File "c:\program files\python37\lib\site-packages\vininfo\cli.py", line 24, in out
for k, v in annotatable.annotate().items():
File "c:\program files\python37\lib\site-packages\vininfo\common.py", line 17, in annotate
value = getattr(self, attr_name, no_attr)
File "c:\program files\python37\lib\site-packages\vininfo\details\_base.py", line 53, in __get__
return DetailWrapper(instance, self)
File "c:\program files\python37\lib\site-packages\vininfo\details\_base.py", line 20, in __init__
attr_name, attr_idx = detail.source
TypeError: cannot unpack non-iterable NoneType object