From c4bc5cc34a0011eb433ce197133d3d309d7becff Mon Sep 17 00:00:00 2001 From: trung_ho Date: Thu, 25 May 2023 15:03:59 +0700 Subject: [PATCH] v1.0.3: parse symbol property in KiCad 7 schematic --- pcm/metadata_template.json | 2 +- src/utils.py | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pcm/metadata_template.json b/pcm/metadata_template.json index d819279..e843e0e 100644 --- a/pcm/metadata_template.json +++ b/pcm/metadata_template.json @@ -23,7 +23,7 @@ }, "versions": [ { - "version": "1.0.2", + "version": "1.0.3", "status": "stable", "kicad_version": "6.00" } diff --git a/src/utils.py b/src/utils.py index 480122e..95a09ae 100644 --- a/src/utils.py +++ b/src/utils.py @@ -50,16 +50,20 @@ def to_string(_list): def parse_property_line(line: str): + # KiCad 6.0 # ' (property "Datasheet" "~" (id 3) (at 44.45 63.5 0)' - # --> name: "Datasheet", value: "~", id: '3' - property_line_regex = re.compile(r'^\s{4}\(property "(.*)" "(.*)" \(id (\d+)\)') + # --> name: "Datasheet", value: "~" + + # KiCad 7.0 + # ' (property "Reference" "R2" (at 90.17 80.645 0)' + # --> name: "Reference", value: "R2" + property_line_regex = re.compile(r'^\s{4}\(property "(.*)" "(.*)"') if not property_line_regex.search(line): return - _name, _value, _property_id = property_line_regex.findall(line)[0] + _name, _value = property_line_regex.findall(line)[0] return { 'name': _name, 'value': _value, - # 'property_id': _property_id # it almost has no use }