From 6c1bcc09d381be18c41f955d9d0e616b01edd519 Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Tue, 27 Feb 2024 22:04:46 -0800 Subject: [PATCH] add fill_name arg (fill name with source pattern) --- k2t.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/k2t.py b/k2t.py index 11311cb..b9d93c6 100644 --- a/k2t.py +++ b/k2t.py @@ -7,7 +7,11 @@ from dataclasses import dataclass, fields from xml.etree import ElementTree -def k2t(kfile: str, tfile: str) -> None: +def k2t( + kfile: str, + tfile: str, + fill_name: bool = False, + ) -> None: """ Convert from KLayout layer properties xml (.lyp) to TOML @@ -38,6 +42,18 @@ def k2t(kfile: str, tfile: str) -> None: if name is not None: print(f'Discarding tab name: {name}') + def add_names(entrs: list[Entry]) -> None: + for entry in entrs: + if entry.members: + add_names(entry.members) + + if entry.name or not entry.source: + continue + entry.name = entry.source + + if fill_name: + add_names(entries) + with open(tfile, 'wt') as ff: for entry in entries: ff.write(entry.to_toml())