Compare commits
1 Commits
main
...
symcache_n
| Author | SHA1 | Date |
|---|---|---|
|
|
a3ed73a40d |
|
|
@ -105,6 +105,15 @@ class SymbologyCache(Struct):
|
|||
|
||||
def write_config(self) -> None:
|
||||
|
||||
def clean_dict_for_toml(d):
|
||||
'''Remove None values from dict recursively for TOML serialization'''
|
||||
if isinstance(d, dict):
|
||||
return {k: clean_dict_for_toml(v) for k, v in d.items() if v is not None}
|
||||
elif isinstance(d, list):
|
||||
return [clean_dict_for_toml(item) for item in d if item is not None]
|
||||
else:
|
||||
return d
|
||||
|
||||
# put the backend's pair-struct type ref at the top
|
||||
# of file if possible.
|
||||
cachedict: dict[str, Any] = {
|
||||
|
|
@ -125,7 +134,9 @@ class SymbologyCache(Struct):
|
|||
|
||||
dct = cachedict[key] = {}
|
||||
for key, struct in table.items():
|
||||
dct[key] = struct.to_dict(include_non_members=False)
|
||||
raw_dict = struct.to_dict(include_non_members=False)
|
||||
# Clean None values for TOML compatibility
|
||||
dct[key] = clean_dict_for_toml(raw_dict)
|
||||
|
||||
try:
|
||||
with self.fp.open(mode='wb') as fp:
|
||||
|
|
|
|||
Loading…
Reference in New Issue