Skip to content

Commit 7ff5238

Browse files
committed
First round of int/float formatting fixes after refactor
1 parent 63e85b9 commit 7ff5238

8 files changed

Lines changed: 59 additions & 59 deletions

File tree

src/kiutils/footprint.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ def _to_sexpr_raw(self):
235235
expr.append(format_bool('hide', self.hide))
236236

237237
if self.opacity is not None:
238-
expr.append(['opacity', self.opacity])
238+
expr.append(['opacity', format_float(self.opacity)])
239239

240240
expr.append(['offset', self.pos._to_sexpr_raw()])
241241
expr.append(['scale', self.scale._to_sexpr_raw()])
@@ -667,7 +667,7 @@ def _to_sexpr_raw(self):
667667
expr.append(chamfer_expr)
668668

669669
if self.dieLength is not None:
670-
expr.append(['die_length', self.dieLength])
670+
expr.append(['die_length', format_float(self.dieLength)])
671671

672672
if self.net is not None:
673673
expr.append(self.net._to_sexpr_raw())
@@ -907,7 +907,7 @@ def libId(self, symbol_id: str):
907907
generator_version: Optional[str] = None
908908
"""The ``generator_version`` token attribute defines the version of the program used to write the file"""
909909

910-
embedded_fonts: Optional[str] = None
910+
embedded_fonts: Optional[bool] = None
911911
"""The ``embedded_fonts`` token defines if the embedded fonts are used in the footprint"""
912912

913913
sheet_name: str = ""
@@ -986,7 +986,7 @@ def from_sexpr(cls, exp: list) -> Footprint:
986986
elif item[0] == 'private_layers': object.privateLayers.extend(item[1:])
987987
elif item[0] == 'net_tie_pad_groups': object.netTiePadGroups.extend(item[1:])
988988
elif item[0] == 'dimension': object.graphicItems.append(Dimension.from_sexpr(item))
989-
elif item[0] == 'embedded_fonts': object.embedded_fonts = item[1]
989+
elif item[0] == 'embedded_fonts': object.embedded_fonts = parse_bool(item, 'embedded_fonts')
990990
elif item[0] == 'embedded_files': object.embedded_files.extend([EmbeddedFile().from_sexpr(f) for f in item[1:]])
991991
else:
992992
raise ValueError(f"Unrecognized property key: {item[0]}. Full expression: {item}")
@@ -1200,7 +1200,7 @@ def _to_sexpr_raw(self):
12001200
expr.append(item._to_sexpr_raw())
12011201

12021202
if self.embedded_fonts is not None:
1203-
expr.append(['embedded_fonts', self.embedded_fonts])
1203+
expr.append(format_bool('embedded_fonts', self.embedded_fonts, yesno=True))
12041204

12051205
# Embedded files
12061206
if len(self.embedded_files) > 0:

src/kiutils/items/brditems.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def to_sexpr(self, indent=2, newline=True) -> str:
8484
return sexp_to_string(raw_expr)
8585

8686
def _to_sexpr_raw(self):
87-
expr = ['general', ['thickness', self.thickness]]
87+
expr = ['general', ['thickness', format_float(self.thickness)]]
8888

8989
if self.legacy_teardrops is not None:
9090
expr.append(['legacy_teardrops', self.legacy_teardrops])
@@ -338,7 +338,7 @@ def _to_sexpr_raw(self):
338338
expr.append(['color', escape_and_quote(self.color)])
339339

340340
if self.thickness is not None:
341-
expr.append(['thickness', self.thickness])
341+
expr.append(['thickness', format_float(self.thickness)])
342342

343343
if self.material is not None:
344344
expr.append(['material', escape_and_quote(self.material)])
@@ -692,7 +692,7 @@ def from_sexpr(cls, exp: list) -> PlotSettings:
692692
elif item[0] == 'plotinvisibletext' : object.plotInvisibleText = parse_bool(item, 'plotinvisibletext')
693693
elif item[0] == 'sketchpadsonfab' : object.sketchPadsOnFab = parse_bool(item, 'sketchpadsonfab')
694694
elif item[0] == 'subtractmaskfromsilk' : object.subtractMaskFromSilk = parse_bool(item, 'subtractmaskfromsilk')
695-
elif item[0] == 'outputformat' : object.outputFormat = item[1]
695+
elif item[0] == 'outputformat' : object.outputFormat = int(item[1])
696696
elif item[0] == 'mirror' : object.mirror = parse_bool(item, 'mirror')
697697
elif item[0] == 'drillshape' : object.drillShape = int(item[1])
698698
elif item[0] == 'scaleselection' : object.scaleSelection = int(item[1])
@@ -746,7 +746,7 @@ def _to_sexpr_raw(self):
746746
if self.svgUseInch is not None:
747747
expr.append(['svguseinch', self.svgUseInch])
748748

749-
expr.append(['svgprecision', self.svgPrecision])
749+
expr.append(['svgprecision', format_float(self.svgPrecision)])
750750

751751
if self.excludeEdgeLayer is not None:
752752
expr.append(['excludeedgelayer', self.excludeEdgeLayer])
@@ -966,13 +966,13 @@ def _to_sexpr_raw(self):
966966
expr.append(['pad_to_mask_clearance', format_float(self.packToMaskClearance)])
967967

968968
if self.solderMaskMinWidth is not None:
969-
expr.append(['solder_mask_min_width', self.solderMaskMinWidth])
969+
expr.append(['solder_mask_min_width', format_float(self.solderMaskMinWidth)])
970970

971971
if self.padToPasteClearance is not None:
972-
expr.append(['pad_to_paste_clearance', self.padToPasteClearance])
972+
expr.append(['pad_to_paste_clearance', format_float(self.padToPasteClearance)])
973973

974974
if self.padToPasteClearanceRatio is not None:
975-
expr.append(['pad_to_paste_clearance_ratio', self.padToPasteClearanceRatio])
975+
expr.append(['pad_to_paste_clearance_ratio', format_float(self.padToPasteClearanceRatio)])
976976

977977
if self.allow_soldermask_bridges_in_footprints is not None:
978978
expr.append(format_bool('allow_soldermask_bridges_in_footprints', self.allow_soldermask_bridges_in_footprints, yesno=True))
@@ -1357,7 +1357,7 @@ def from_sexpr(cls, exp: list) -> Arc:
13571357
elif item[0] == 'end': object.end = Position().from_sexpr(item)
13581358
elif item[0] == 'width': object.width = item[1]
13591359
elif item[0] == 'layer': object.layer = item[1]
1360-
elif item[0] == 'net': object.net = item[1]
1360+
elif item[0] == 'net': object.net = int(item[1])
13611361
elif item[0] == 'tstamp': object.tstamp = item[1]
13621362
elif item[0] == 'uuid': object.tstamp = item[1] # Haha :)
13631363
else:
@@ -1394,7 +1394,7 @@ def _to_sexpr_raw(self, zone_poly=False):
13941394
expr.extend([
13951395
['width', format_float(self.width)],
13961396
['layer', escape_and_quote(self.layer)],
1397-
['net', int(self.net)],
1397+
['net', self.net],
13981398
])
13991399

14001400
if self.tstamp is not None:
@@ -1629,7 +1629,7 @@ def from_sexpr(cls, exp: list) -> Generated:
16291629
raise Exception(f"Expected points property pts, got: {points_expr}")
16301630
for point in points_expr[1:]:
16311631
object.base_line_coupled.append(Position().from_sexpr(point))
1632-
elif item[0] == 'corner_radius_percent': object.corner_radius = item[1]
1632+
elif item[0] == 'corner_radius_percent': object.corner_radius = int(item[1])
16331633
elif item[0] == 'end': object.end = Position().from_sexpr(item[1])
16341634
elif item[0] == 'initial_side': object.initial_side = item[1]
16351635
elif item[0] == 'last_diff_pair_gap': object.last_diff_pair_gap = item[1]

src/kiutils/items/common.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ def _to_sexpr_raw(self):
388388
expr.append(['size', format_float(self.height), format_float(self.width)])
389389

390390
if self.thickness is not None:
391-
expr.append(['thickness', self.thickness])
391+
expr.append(['thickness', format_float(self.thickness)])
392392

393393
if self.bold:
394394
expr.append(format_bool('bold', self.bold))
@@ -400,7 +400,7 @@ def _to_sexpr_raw(self):
400400
expr.append(format_bool('italic', self.italic))
401401

402402
if self.lineSpacing is not None:
403-
expr.append(['line_spacing', self.lineSpacing])
403+
expr.append(['line_spacing', format_float(self.lineSpacing)])
404404

405405
return expr
406406

@@ -779,7 +779,7 @@ def _to_sexpr_raw(self):
779779
if self.paperSize == 'User':
780780
if self.width is None or self.height is None:
781781
raise Exception("Page size set to 'User' but width or height not specified")
782-
expr.extend([self.width, self.height])
782+
expr.extend([format_float(self.width), format_float(self.height)])
783783

784784
if self.portrait:
785785
expr.append('portrait')
@@ -1103,7 +1103,7 @@ def from_sexpr(cls, exp: list) -> RenderCache:
11031103

11041104
object = cls()
11051105
object.text = exp[1]
1106-
object.id = exp[2]
1106+
object.id = int(exp[2])
11071107
for item in exp[3:]:
11081108
if not isinstance(item, list):
11091109
raise ValueError(f"Expected list property [key, value], got: {item}. Full expression: {exp}")
@@ -1286,7 +1286,7 @@ def _to_sexpr_raw(self):
12861286
expr.append(['layer', escape_and_quote(self.layer)])
12871287

12881288
if self.scale is not None:
1289-
expr.append(['scale', self.scale])
1289+
expr.append(['scale', format_float(self.scale)])
12901290

12911291
if self.uuid is not None:
12921292
expr.append(['uuid', quote(self.uuid)])

src/kiutils/items/dimensions.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ def from_sexpr(cls, exp: list) -> DimensionFormat:
9292
raise ValueError(f"Expected list property [key, value], got: {item}. Full expression: {exp}")
9393
elif item[0] == 'prefix': object.prefix = item[1]
9494
elif item[0] == 'suffix': object.suffix = item[1]
95-
elif item[0] == 'units': object.units = item[1]
96-
elif item[0] == 'units_format': object.unitsFormat = item[1]
97-
elif item[0] == 'precision': object.precision = item[1]
95+
elif item[0] == 'units': object.units = int(item[1])
96+
elif item[0] == 'units_format': object.unitsFormat = int(item[1])
97+
elif item[0] == 'precision': object.precision = int(item[1])
9898
elif item[0] == 'override_value': object.overrideValue = item[1]
9999
else:
100100
raise ValueError(f"Unrecognized property key: {item[0]}. Full expression: {item}")

src/kiutils/items/fpitems.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ def _to_sexpr_raw(self):
263263
]
264264

265265
if self.width is not None:
266-
expr.append(['width', self.width])
266+
expr.append(['width', format_float(self.width)])
267267
elif self.stroke is not None:
268268
expr.append(self.stroke._to_sexpr_raw())
269269

@@ -372,7 +372,7 @@ def _to_sexpr_raw(self):
372372
]
373373

374374
if self.width is not None:
375-
expr.append(['width', self.width])
375+
expr.append(['width', format_float(self.width)])
376376
elif self.stroke is not None:
377377
expr.append(self.stroke._to_sexpr_raw())
378378

@@ -535,7 +535,7 @@ def _to_sexpr_raw(self):
535535
expr.append(['end', format_float(self.end.X), format_float(self.end.Y)])
536536

537537
if self.angle is not None:
538-
expr.append(['angle', self.angle])
538+
expr.append(['angle', format_float(self.angle)])
539539

540540
expr.append(['layer', escape_and_quote(self.layer)])
541541

@@ -650,7 +650,7 @@ def _to_sexpr_raw(self):
650650
]
651651

652652
if self.width is not None:
653-
expr.append(['width', self.width])
653+
expr.append(['width', format_float(self.width)])
654654
elif self.stroke is not None:
655655
expr.append(self.stroke._to_sexpr_raw())
656656

@@ -762,7 +762,7 @@ def _to_sexpr_raw(self):
762762
]
763763

764764
if self.width is not None:
765-
expr.append(['width', self.width])
765+
expr.append(['width', format_float(self.width)])
766766
elif self.stroke is not None:
767767
expr.append(self.stroke._to_sexpr_raw())
768768

@@ -873,7 +873,7 @@ def _to_sexpr_raw(self):
873873
expr.append(pts_expr)
874874

875875
if self.width is not None:
876-
expr.append(['width', self.width])
876+
expr.append(['width', format_float(self.width)])
877877
elif self.stroke is not None:
878878
expr.append(self.stroke._to_sexpr_raw())
879879

@@ -983,7 +983,7 @@ def _to_sexpr_raw(self):
983983
expr.append(pts_expr)
984984

985985
if self.width is not None:
986-
expr.append(['width', self.width])
986+
expr.append(['width', format_float(self.width)])
987987
elif self.stroke is not None:
988988
expr.append(self.stroke._to_sexpr_raw())
989989

src/kiutils/items/schitems.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1041,7 +1041,7 @@ def from_sexpr(cls, exp: list) -> SymbolProjectPath:
10411041
if not isinstance(item, list):
10421042
raise ValueError(f"Expected list property [key, value], got: {item}. Full expression: {exp}")
10431043
elif item[0] == 'reference': object.reference = item[1]
1044-
elif item[0] == 'unit': object.unit = item[1]
1044+
elif item[0] == 'unit': object.unit = int(item[1])
10451045
else:
10461046
raise ValueError(f"Unrecognized property key: {item[0]}. Full expression: {item}")
10471047

@@ -1273,7 +1273,7 @@ def from_sexpr(cls, exp: list) -> SchematicSymbol:
12731273
elif item[0] == 'lib_id': object.libId = item[1]
12741274
elif item[0] == 'lib_name': object.libName = item[1]
12751275
elif item[0] == 'uuid': object.uuid = item[1]
1276-
elif item[0] == 'unit': object.unit = item[1]
1276+
elif item[0] == 'unit': object.unit = int(item[1])
12771277
elif item[0] == 'at': object.position = Position().from_sexpr(item)
12781278
elif item[0] == 'property': object.properties.append(Property().from_sexpr(item))
12791279
elif item[0] == 'pin': object.pins.update({item[1]: item[2][1]})
@@ -1851,7 +1851,7 @@ def from_sexpr(cls, exp: list) -> SymbolInstance:
18511851
if not isinstance(item, list):
18521852
raise ValueError(f"Expected list property [key, value], got: {item}. Full expression: {exp}")
18531853
elif item[0] == 'reference': object.reference = item[1]
1854-
elif item[0] == 'unit': object.unit = item[1]
1854+
elif item[0] == 'unit': object.unit = int(item[1])
18551855
elif item[0] == 'value': object.value = item[1]
18561856
elif item[0] == 'footprint': object.footprint = item[1]
18571857
else:

src/kiutils/items/zones.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -223,14 +223,14 @@ def from_sexpr(cls, exp: list) -> FillSettings:
223223
elif item[0] == 'thermal_bridge_width': object.thermalBridgeWidth = item[1]
224224
elif item[0] == 'smoothing': object.smoothingStyle = item[1]
225225
elif item[0] == 'radius': object.smoothingRadius = item[1]
226-
elif item[0] == 'island_removal_mode': object.islandRemovalMode = item[1]
226+
elif item[0] == 'island_removal_mode': object.islandRemovalMode = int(item[1])
227227
elif item[0] == 'island_area_min': object.islandAreaMin = item[1]
228228
elif item[0] == 'hatch_thickness': object.hatchThickness = item[1]
229229
elif item[0] == 'hatch_gap': object.hatchGap = item[1]
230230
elif item[0] == 'hatch_orientation': object.hatchOrientation = item[1]
231-
elif item[0] == 'hatch_smoothing_level': object.hatchSmoothingLevel = item[1]
231+
elif item[0] == 'hatch_smoothing_level': object.hatchSmoothingLevel = int(item[1])
232232
elif item[0] == 'hatch_smoothing_value': object.hatchSmoothingValue = item[1]
233-
elif item[0] == 'hatch_border_algorithm': object.hatchBorderAlgorithm = item[1]
233+
elif item[0] == 'hatch_border_algorithm': object.hatchBorderAlgorithm = int(item[1])
234234
elif item[0] == 'hatch_min_hole_area': object.hatchMinHoleArea = item[1]
235235
else:
236236
raise ValueError(f"Unrecognized property key: {item[0]}. Full expression: {item}")
@@ -260,26 +260,26 @@ def _to_sexpr_raw(self):
260260
if self.mode is not None:
261261
expr.append(['mode', self.mode])
262262

263-
expr.append(['thermal_gap', self.thermalGap])
264-
expr.append(['thermal_bridge_width', self.thermalBridgeWidth])
263+
expr.append(['thermal_gap', format_float(self.thermalGap)])
264+
expr.append(['thermal_bridge_width', format_float(self.thermalBridgeWidth)])
265265

266266
if self.smoothingStyle is not None:
267267
expr.append(['smoothing', self.smoothingStyle])
268268

269269
if self.smoothingRadius is not None:
270-
expr.append(['radius', self.smoothingRadius])
270+
expr.append(['radius', format_float(self.smoothingRadius)])
271271

272272
if self.islandRemovalMode is not None:
273273
expr.append(['island_removal_mode', self.islandRemovalMode])
274274

275275
if self.islandAreaMin is not None:
276-
expr.append(['island_area_min', self.islandAreaMin])
276+
expr.append(['island_area_min', format_float(self.islandAreaMin)])
277277

278278
if self.hatchThickness is not None:
279-
expr.append(['hatch_thickness', self.hatchThickness])
279+
expr.append(['hatch_thickness', format_float(self.hatchThickness)])
280280

281281
if self.hatchGap is not None:
282-
expr.append(['hatch_gap', self.hatchGap])
282+
expr.append(['hatch_gap', format_float(self.hatchGap)])
283283

284284
if self.hatchOrientation is not None:
285285
expr.append(['hatch_orientation', self.hatchOrientation])
@@ -288,13 +288,13 @@ def _to_sexpr_raw(self):
288288
expr.append(['hatch_smoothing_level', self.hatchSmoothingLevel])
289289

290290
if self.hatchSmoothingValue is not None:
291-
expr.append(['hatch_smoothing_value', self.hatchSmoothingValue])
291+
expr.append(['hatch_smoothing_value', format_float(self.hatchSmoothingValue)])
292292

293293
if self.hatchBorderAlgorithm is not None:
294294
expr.append(['hatch_border_algorithm', self.hatchBorderAlgorithm])
295295

296296
if self.hatchMinHoleArea is not None:
297-
expr.append(['hatch_min_hole_area', self.hatchMinHoleArea])
297+
expr.append(['hatch_min_hole_area', format_float(self.hatchMinHoleArea)])
298298

299299
return expr
300300

@@ -659,7 +659,7 @@ def from_sexpr(cls, exp: list) -> Zone:
659659
elif item[0] == 'uuid': object.tstamp = item[1] # Haha :)
660660
elif item[0] == 'name': object.name = item[1]
661661
elif item[0] == 'hatch': object.hatch = Hatch(style=item[1], pitch=item[2])
662-
elif item[0] == 'priority': object.priority = item[1]
662+
elif item[0] == 'priority': object.priority = int(item[1])
663663
elif item[0] == 'connect_pads':
664664
if len(item) == 2:
665665
object.clearance = item[1][1]
@@ -734,7 +734,7 @@ def _to_sexpr_raw(self):
734734
connect_pads_expr.append(['clearance', format_float(self.clearance)])
735735
expr.append(connect_pads_expr)
736736

737-
expr.append(['min_thickness', self.minThickness])
737+
expr.append(['min_thickness', float(self.minThickness)])
738738

739739
if self.filledAreasThickness is not None:
740740
expr.append(['filled_areas_thickness', self.filledAreasThickness])

0 commit comments

Comments
 (0)