Skip to content

Fix dict key existence check

Fixes the following problem:

$ python BatteryHolder.py BatteryHolder.yml 
use file: BatteryHolder.yml
  - generate BatteryHolder_Bulgin_BX0033_1xPP3.kicad_mod
Traceback (most recent call last):
  File "/home/sur5r/git/kicad-footprint-generator/scripts/Battery/BatteryHolder.py", line 62, in <module>
    parser.run()
  File "/home/sur5r/git/kicad-footprint-generator/scripts/Battery/../../KicadModTree/ModArgparser.py", line 135, in run
    self._parse_and_execute_yml(filepath)
  File "/home/sur5r/git/kicad-footprint-generator/scripts/Battery/../../KicadModTree/ModArgparser.py", line 163, in _parse_and_execute_yml
    self._execute_script(**kwargs)  # now we can execute the script
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sur5r/git/kicad-footprint-generator/scripts/Battery/../../KicadModTree/ModArgparser.py", line 266, in _execute_script
    self._footprint_function(parsed_args)
  File "/home/sur5r/git/kicad-footprint-generator/scripts/Battery/BatteryHolder.py", line 39, in qfn
    f.append(StandardBox(footprint=f, description=description, datasheet=datasheet, at=at, size=size, tags=fptag, SmdTht=SmdTht, extratexts=extratexts, pins=pins, file3Dname=file3Dname ))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sur5r/git/kicad-footprint-generator/scripts/Battery/../general/StandardBox.py", line 110, in __init__
    self._initFootPrint(**kwargs)
  File "/home/sur5r/git/kicad-footprint-generator/scripts/Battery/../general/StandardBox.py", line 161, in _initFootPrint
    raise KeyError('footprint node is missing')
KeyError: 'footprint node is missing'

Merge request reports