load all files for completion

This commit is contained in:
2025-08-04 21:11:20 +02:00
parent 6a051a6dee
commit 1abf89fe56
2 changed files with 63 additions and 6 deletions
+35
View File
@@ -0,0 +1,35 @@
import xml.etree.ElementTree as ET
from dataclasses import dataclass
from typing import List, Optional
@dataclass
class SourcedFiles:
layer_name: str
subfolder: Optional[str]
files: List[str]
def read_psc_file(psc_file: str) -> List[SourcedFiles]:
tree = ET.parse(psc_file)
root = tree.getroot()
layers = root.findall(".//Layer")
layer_info_list: List[SourcedFiles] = []
for layer in layers:
layer_name = layer.attrib.get("Name")
subfolder = layer.attrib.get("SubFolder")
# Scripts-Filenames
scripts = layer.find("Scripts")
script_names = []
if scripts is not None:
for filename in scripts.findall("Filename"):
name = filename.attrib.get("Name")
if name:
script_names.append(name)
layer_info_list.append(
SourcedFiles(layer_name=layer_name, subfolder=subfolder, files=script_names)
)
return layer_info_list