Skip to content

Commit e7ea852

Browse files
committed
Refactor: remove inline format_float calls and handle formatting in sexp_to_string
1 parent 7ff5238 commit e7ea852

13 files changed

Lines changed: 239 additions & 244 deletions

File tree

src/kiutils/footprint.py

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
from kiutils.utils.sexpr import sexp_prettify as prettify, sexp_to_string, parse_sexp
3131
from kiutils.utils.string_utils import *
3232
from kiutils.misc.config import *
33-
from kiutils.utils.format_utils import format_float
3433
from kiutils.utils.parsing_utils import *
3534

3635
@dataclass
@@ -235,7 +234,7 @@ def _to_sexpr_raw(self):
235234
expr.append(format_bool('hide', self.hide))
236235

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

240239
expr.append(['offset', self.pos._to_sexpr_raw()])
241240
expr.append(['scale', self.scale._to_sexpr_raw()])
@@ -322,13 +321,13 @@ def _to_sexpr_raw(self):
322321
expr.append('oval')
323322

324323
if self.diameter is not None:
325-
expr.append(format_float(self.diameter))
324+
expr.append(self.diameter)
326325

327326
if self.oval and self.width is not None:
328-
expr.append(format_float(self.width))
327+
expr.append(self.width)
329328

330329
if self.offset is not None:
331-
offset = ['offset', format_float(self.offset.X), format_float(self.offset.Y)]
330+
offset = ['offset', self.offset.X, self.offset.Y]
332331
expr.append(offset)
333332

334333
return expr
@@ -630,12 +629,12 @@ def _to_sexpr_raw(self):
630629

631630
expr.append(format_bool('locked', self.locked))
632631

633-
pos = ['at', format_float(self.position.X), format_float(self.position.Y)]
632+
pos = ['at', self.position.X, self.position.Y]
634633
if self.position.angle is not None:
635-
pos.append(format_float(self.position.angle))
634+
pos.append(self.position.angle)
636635
expr.append(pos)
637636

638-
expr.append(['size', format_float(self.size.X), format_float(self.size.Y)])
637+
expr.append(['size', self.size.X, self.size.Y])
639638

640639
if self.drill is not None:
641640
expr.append(self.drill._to_sexpr_raw())
@@ -657,17 +656,17 @@ def _to_sexpr_raw(self):
657656
expr.append(zlc_expr)
658657

659658
if self.roundrectRatio is not None:
660-
expr.append(['roundrect_rratio', format_float(self.roundrectRatio)])
659+
expr.append(['roundrect_rratio', self.roundrectRatio])
661660

662661
if self.chamferRatio is not None:
663-
expr.append(['chamfer_ratio', format_float(self.chamferRatio)])
662+
expr.append(['chamfer_ratio', self.chamferRatio])
664663

665664
if len(self.chamfer) > 0:
666665
chamfer_expr = ['chamfer'] + self.chamfer
667666
expr.append(chamfer_expr)
668667

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

672671
if self.net is not None:
673672
expr.append(self.net._to_sexpr_raw())
@@ -679,28 +678,28 @@ def _to_sexpr_raw(self):
679678
expr.append(['pintype', escape_and_quote(self.pinType)])
680679

681680
if self.solderMaskMargin is not None:
682-
expr.append(['solder_mask_margin', format_float(self.solderMaskMargin)])
681+
expr.append(['solder_mask_margin', self.solderMaskMargin])
683682

684683
if self.solderPasteMargin is not None:
685-
expr.append(['solder_paste_margin', format_float(self.solderPasteMargin)])
684+
expr.append(['solder_paste_margin', self.solderPasteMargin])
686685

687686
if self.solderPasteMarginRatio is not None:
688-
expr.append(['solder_paste_margin_ratio', format_float(self.solderPasteMarginRatio)])
687+
expr.append(['solder_paste_margin_ratio', self.solderPasteMarginRatio])
689688

690689
if self.clearance is not None:
691-
expr.append(['clearance', format_float(self.clearance)])
690+
expr.append(['clearance', self.clearance])
692691

693692
if self.zoneConnect is not None:
694693
expr.append(['zone_connect', self.zoneConnect])
695694

696695
if self.thermalBridgeWidth is not None:
697-
expr.append(['thermal_bridge_width', format_float(self.thermalBridgeWidth)])
696+
expr.append(['thermal_bridge_width', self.thermalBridgeWidth])
698697

699698
if self.thermalBridgeAngle is not None:
700-
expr.append(['thermal_bridge_angle', format_float(self.thermalBridgeAngle)])
699+
expr.append(['thermal_bridge_angle', self.thermalBridgeAngle])
701700

702701
if self.thermalGap is not None:
703-
expr.append(['thermal_gap', format_float(self.thermalGap)])
702+
expr.append(['thermal_gap', self.thermalGap])
704703

705704
if self.customPadOptions is not None:
706705
expr.append(self.customPadOptions._to_sexpr_raw())
@@ -1124,9 +1123,10 @@ def _to_sexpr_raw(self):
11241123
expr.append(['uuid', quote(self.tstamp)])
11251124

11261125
if self.position is not None:
1127-
pos = ['at', format_float(self.position.X), format_float(self.position.Y)]
1126+
pos = ['at', self.position.X, self.position.Y]
11281127
if self.position.angle is not None:
11291128
pos.append(self.position.angle)
1129+
11301130
expr.append(pos)
11311131

11321132
if self.description is not None:
@@ -1154,25 +1154,25 @@ def _to_sexpr_raw(self):
11541154
expr.append(['autoplace_cost180', self.autoplaceCost180])
11551155

11561156
if self.solderMaskMargin is not None:
1157-
expr.append(['solder_mask_margin', format_float(self.solderMaskMargin)])
1157+
expr.append(['solder_mask_margin', self.solderMaskMargin])
11581158

11591159
if self.solderPasteMargin is not None:
1160-
expr.append(['solder_paste_margin', format_float(self.solderPasteMargin)])
1160+
expr.append(['solder_paste_margin', self.solderPasteMargin])
11611161

11621162
if self.solderPasteMarginRatio is not None:
1163-
expr.append(['solder_paste_margin_ratio', format_float(self.solderPasteMarginRatio)])
1163+
expr.append(['solder_paste_margin_ratio', self.solderPasteMarginRatio])
11641164

11651165
if self.clearance is not None:
1166-
expr.append(['clearance', format_float(self.clearance)])
1166+
expr.append(['clearance', self.clearance])
11671167

11681168
if self.zoneConnect is not None:
11691169
expr.append(['zone_connect', self.zoneConnect])
11701170

11711171
if self.thermalBridgeWidth is not None:
1172-
expr.append(['thermal_bridge_width', format_float(self.thermalBridgeWidth)])
1172+
expr.append(['thermal_bridge_width', self.thermalBridgeWidth])
11731173

11741174
if self.thermalGap is not None:
1175-
expr.append(['thermal_gap', format_float(self.thermalGap)])
1175+
expr.append(['thermal_gap', self.thermalGap])
11761176

11771177
if self.attributes is not None:
11781178
raw_attr = self.attributes._to_sexpr_raw()

src/kiutils/items/brditems.py

Lines changed: 45 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
from kiutils.items.common import Position
2222
from kiutils.utils.string_utils import *
23-
from kiutils.utils.format_utils import format_float
2423
from kiutils.utils.parsing_utils import *
2524
from kiutils.utils.sexpr import sexp_to_string
2625

@@ -84,7 +83,7 @@ def to_sexpr(self, indent=2, newline=True) -> str:
8483
return sexp_to_string(raw_expr)
8584

8685
def _to_sexpr_raw(self):
87-
expr = ['general', ['thickness', format_float(self.thickness)]]
86+
expr = ['general', ['thickness', self.thickness]]
8887

8988
if self.legacy_teardrops is not None:
9089
expr.append(['legacy_teardrops', self.legacy_teardrops])
@@ -203,16 +202,16 @@ def to_sexpr(self, indent=0, newline=False) -> str:
203202
return sexp_to_string(raw_expr)
204203

205204
def _to_sexpr_raw(self):
206-
expr = ['addsublayer', ['thickness', format_float(self.thickness)]]
205+
expr = ['addsublayer', ['thickness', self.thickness]]
207206

208207
if self.material is not None:
209208
expr.append(['material', self.material])
210209

211210
if self.epsilonR is not None:
212-
expr.append(['epsilon_r', format_float(self.epsilonR)])
211+
expr.append(['epsilon_r', self.epsilonR])
213212

214213
if self.lossTangent is not None:
215-
expr.append(['loss_tangent', format_float(self.lossTangent)])
214+
expr.append(['loss_tangent', self.lossTangent])
216215

217216
return expr
218217

@@ -338,16 +337,16 @@ def _to_sexpr_raw(self):
338337
expr.append(['color', escape_and_quote(self.color)])
339338

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

343342
if self.material is not None:
344343
expr.append(['material', escape_and_quote(self.material)])
345344

346345
if self.epsilonR is not None:
347-
expr.append(['epsilon_r', format_float(self.epsilonR)])
346+
expr.append(['epsilon_r', self.epsilonR])
348347

349348
if self.lossTangent is not None:
350-
expr.append(['loss_tangent', format_float(self.lossTangent)])
349+
expr.append(['loss_tangent', self.lossTangent])
351350

352351
for layer in self.subLayers:
353352
expr.append(layer._to_sexpr_raw())
@@ -746,7 +745,7 @@ def _to_sexpr_raw(self):
746745
if self.svgUseInch is not None:
747746
expr.append(['svguseinch', self.svgUseInch])
748747

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

751750
if self.excludeEdgeLayer is not None:
752751
expr.append(['excludeedgelayer', self.excludeEdgeLayer])
@@ -963,16 +962,16 @@ def _to_sexpr_raw(self):
963962
if self.stackup is not None:
964963
expr.append(self.stackup._to_sexpr_raw())
965964

966-
expr.append(['pad_to_mask_clearance', format_float(self.packToMaskClearance)])
965+
expr.append(['pad_to_mask_clearance', self.packToMaskClearance])
967966

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

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

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

977976
if self.allow_soldermask_bridges_in_footprints is not None:
978977
expr.append(format_bool('allow_soldermask_bridges_in_footprints', self.allow_soldermask_bridges_in_footprints, yesno=True))
@@ -981,10 +980,10 @@ def _to_sexpr_raw(self):
981980
expr.append(['tenting'] + self.tenting)
982981

983982
if self.auxAxisOrigin is not None:
984-
expr.append(['aux_axis_origin', format_float(self.auxAxisOrigin.X), format_float(self.auxAxisOrigin.Y)])
983+
expr.append(['aux_axis_origin', self.auxAxisOrigin.X, self.auxAxisOrigin.Y])
985984

986985
if self.gridOrigin is not None:
987-
expr.append(['grid_origin', format_float(self.gridOrigin.X), format_float(self.gridOrigin.Y)])
986+
expr.append(['grid_origin', self.gridOrigin.X, self.gridOrigin.Y])
988987

989988
if len(self.covering) > 0:
990989
expr.append(['covering'] + self.covering)
@@ -1087,9 +1086,9 @@ def to_sexpr(self, indent=2, newline=True) -> str:
10871086
def _to_sexpr_raw(self):
10881087
expr = [
10891088
'segment',
1090-
['start', format_float(self.start.X), format_float(self.start.Y)],
1091-
['end', format_float(self.end.X), format_float(self.end.Y)],
1092-
['width', format_float(self.width)],
1089+
['start', self.start.X, self.start.Y],
1090+
['end', self.end.X, self.end.Y],
1091+
['width', self.width],
10931092
]
10941093

10951094
if self.locked:
@@ -1239,9 +1238,9 @@ def _to_sexpr_raw(self):
12391238
expr.append(self.type)
12401239

12411240
expr.extend([
1242-
['at', format_float(self.position.X), format_float(self.position.Y)],
1243-
['size', format_float(self.size)],
1244-
['drill', format_float(self.drill)],
1241+
['at', self.position.X, self.position.Y],
1242+
['size', self.size],
1243+
['drill', self.drill],
12451244
])
12461245

12471246
layer_list = ['layers']
@@ -1385,14 +1384,14 @@ def _to_sexpr_raw(self, zone_poly=False):
13851384
expr.append(format_bool("locked", self.locked))
13861385

13871386
expr.extend([
1388-
['start', format_float(self.start.X), format_float(self.start.Y)],
1389-
['mid', format_float(self.mid.X), format_float(self.mid.Y)],
1390-
['end', format_float(self.end.X), format_float(self.end.Y)],
1387+
['start', self.start.X, self.start.Y],
1388+
['mid', self.mid.X, self.mid.Y],
1389+
['end', self.end.X, self.end.Y],
13911390
])
13921391

13931392
if not zone_poly:
13941393
expr.extend([
1395-
['width', format_float(self.width)],
1394+
['width', self.width],
13961395
['layer', escape_and_quote(self.layer)],
13971396
['net', self.net],
13981397
])
@@ -1482,9 +1481,9 @@ def _to_sexpr_raw(self):
14821481
return [
14831482
'target',
14841483
self.type,
1485-
['at', format_float(self.position.X), format_float(self.position.Y)],
1486-
['size', format_float(self.size)],
1487-
['width', format_float(self.width)],
1484+
['at', self.position.X, self.position.Y],
1485+
['size', self.size],
1486+
['width', self.width],
14881487
['layer', quote(self.layer)],
14891488
['uuid', quote(self.tstamp)],
14901489
]
@@ -1686,36 +1685,36 @@ def _to_sexpr_raw(self):
16861685
if len(self.base_line) > 0:
16871686
base_line_pts = ['pts']
16881687
for point in self.base_line:
1689-
base_line_pts.append(['xy', format_float(point.X), format_float(point.Y)])
1688+
base_line_pts.append(['xy', point.X, point.Y])
16901689
expr.append(['base_line', base_line_pts])
16911690

16921691
if len(self.base_line_coupled) > 0:
16931692
coupled_pts = ['pts']
16941693
for point in self.base_line_coupled:
1695-
coupled_pts.append(['xy', format_float(point.X), format_float(point.Y)])
1694+
coupled_pts.append(['xy', point.X, point.Y])
16961695
expr.append(['base_line_coupled', coupled_pts])
16971696

16981697
expr.append(['corner_radius_percent', self.corner_radius])
1699-
expr.append(['end', ['xy', format_float(self.end.X), format_float(self.end.Y)]])
1698+
expr.append(['end', ['xy', self.end.X, self.end.Y]])
17001699
expr.append(['initial_side', escape_and_quote(self.initial_side)])
17011700
expr.append(['last_diff_pair_gap', self.last_diff_pair_gap])
17021701
expr.append(['last_netname', escape_and_quote(self.last_net_name)])
17031702
expr.append(['last_status', escape_and_quote(self.last_status)])
17041703
expr.append(['last_track_width', self.last_track_width])
17051704
expr.append(['last_tuning', escape_and_quote(self.last_tuning)])
1706-
expr.append(['max_amplitude', format_float(self.max_amplitude)])
1707-
expr.append(['min_amplitude', format_float(self.min_amplitude)])
1708-
expr.append(['min_spacing', format_float(self.min_spacing)])
1709-
expr.append(['origin', ['xy', format_float(self.origin.X), format_float(self.origin.Y)]])
1705+
expr.append(['max_amplitude', self.max_amplitude])
1706+
expr.append(['min_amplitude', self.min_amplitude])
1707+
expr.append(['min_spacing', self.min_spacing])
1708+
expr.append(['origin', ['xy', self.origin.X, self.origin.Y]])
17101709
expr.append(['override_custom_rules', self.override_custom_rules])
17111710
expr.append(['rounded', self.rounded])
17121711
expr.append(['single_sided', self.single_sided])
1713-
expr.append(['target_length', format_float(self.target_length)])
1714-
expr.append(['target_length_max', format_float(self.target_length_max)])
1715-
expr.append(['target_length_min', format_float(self.target_length_min)])
1716-
expr.append(['target_skew', format_float(self.target_skew)])
1717-
expr.append(['target_skew_max', format_float(self.target_skew_max)])
1718-
expr.append(['target_skew_min', format_float(self.target_skew_min)])
1712+
expr.append(['target_length', self.target_length])
1713+
expr.append(['target_length_max', self.target_length_max])
1714+
expr.append(['target_length_min', self.target_length_min])
1715+
expr.append(['target_skew', self.target_skew])
1716+
expr.append(['target_skew_max', self.target_skew_max])
1717+
expr.append(['target_skew_min', self.target_skew_min])
17191718
expr.append(['tuning_mode', escape_and_quote(self.tuning_mode)])
17201719

17211720
if len(self.members) > 0:
@@ -1810,12 +1809,12 @@ def _to_sexpr_raw(self):
18101809
expr = ['teardrops']
18111810

18121811
field_specs = {
1813-
'best_length_ratio': lambda v: ['best_length_ratio', format_float(v)],
1814-
'max_length': lambda v: ['max_length', format_float(v)],
1815-
'best_width_ratio': lambda v: ['best_width_ratio', format_float(v)],
1816-
'max_width': lambda v: ['max_width', format_float(v)],
1812+
'best_length_ratio': lambda v: ['best_length_ratio', v],
1813+
'max_length': lambda v: ['max_length', v],
1814+
'best_width_ratio': lambda v: ['best_width_ratio', v],
1815+
'max_width': lambda v: ['max_width', v],
18171816
'curved_edges': lambda v: format_bool('curved_edges', v, yesno=True),
1818-
'filter_ratio': lambda v: ['filter_ratio', format_float(v)],
1817+
'filter_ratio': lambda v: ['filter_ratio', v],
18191818
'enabled': lambda v: format_bool('enabled', v, yesno=True),
18201819
'allow_two_segments':lambda v: format_bool('allow_two_segments', v, yesno=True),
18211820
'prefer_zone_connections': lambda v: format_bool('prefer_zone_connections', v, yesno=True),

0 commit comments

Comments
 (0)