dhall syntax fix

This commit is contained in:
Wolfram 2025-01-07 11:54:41 +01:00
parent ea30efaf26
commit 7608416aec
3 changed files with 36 additions and 10 deletions

View File

@ -1,4 +1,4 @@
2024.11 2025.1
- **Features** - **Features**
- Neu: Option zur Erstellung eines Domänen-Managers. (`manager_domain`) - Neu: Option zur Erstellung eines Domänen-Managers. (`manager_domain`)
- Neu: Option zur Erstellung eines werkstattweiten Benutzers. (`domain_user`) - Neu: Option zur Erstellung eines werkstattweiten Benutzers. (`domain_user`)
@ -9,6 +9,7 @@
- Die Einstellung `fa_update_dhall` heißt jetzt `fa_dhall_update`, damit ein einheitliches Benennungsschema mit der dazugehörigen Einstellungen `fa_dhall_file` gegeben ist. - Die Einstellung `fa_update_dhall` heißt jetzt `fa_dhall_update`, damit ein einheitliches Benennungsschema mit der dazugehörigen Einstellungen `fa_dhall_file` gegeben ist.
- **Bugfixes** - **Bugfixes**
- Crash bei Verwendung der Einstellung `show_machines` - Crash bei Verwendung der Einstellung `show_machines`
- Korrektur der erzeugten dhall-Syntax. Der letzte Eintrag einer Datenstruktur wird nicht mehr mit einem Komma abgeschlossen.
- **Sonstiges** - **Sonstiges**
- Admin-Berechtigungen wurden vollständig auf Wildcard-Zugriffsschema umgestellt. Zuvor wurden Berechtigungen für einzelne Bereiche vergeben. - Admin-Berechtigungen wurden vollständig auf Wildcard-Zugriffsschema umgestellt. Zuvor wurden Berechtigungen für einzelne Bereiche vergeben.

View File

@ -1,4 +1,4 @@
__version__ = '2024.12' __version__ = '2025.1'
import time import time
time_start = time.perf_counter() time_start = time.perf_counter()

View File

@ -477,14 +477,21 @@ def generate_bffh_roles(roles):
data.append('{') data.append('{')
# Inhalt # Inhalt
for role in roles: last = len(roles) - 1
for index, role in enumerate(roles):
data.append(space * 1 + extraspace + f'{role}' + ' =') data.append(space * 1 + extraspace + f'{role}' + ' =')
data.append(space * 1 + extraspace + '{') data.append(space * 1 + extraspace + '{')
data.append(space * 2 + extraspace + 'permissions = [') data.append(space * 2 + extraspace + 'permissions = [')
for perm in roles[role]["perms"]: for perm in roles[role]["perms"]:
data.append(space * 4 + f'"{perm}",') data.append(space * 4 + f'"{perm}",')
data.append(space * 2 + extraspace + ']') data.append(space * 2 + extraspace + ']')
if index == last:
data.append(space * 1 + extraspace + '}')
else:
data.append(space * 1 + extraspace + '},') data.append(space * 1 + extraspace + '},')
data.append(' ') data.append(' ')
# Ende Datenstruktur # Ende Datenstruktur
@ -507,7 +514,9 @@ def generate_bffh_machines(machines):
data.append('{') data.append('{')
# Inhalt # Inhalt
for id, m in machines.items(): last = len(machines) - 1
for index, (id, m) in enumerate(machines.items()):
specs = m.get_machine() specs = m.get_machine()
data.append(space * 1 + extraspace + f'{specs["fa_id"]}' + ' =') data.append(space * 1 + extraspace + f'{specs["fa_id"]}' + ' =')
data.append(space * 1 + extraspace + '{') data.append(space * 1 + extraspace + '{')
@ -520,6 +529,9 @@ def generate_bffh_machines(machines):
for i in range(len(specs["perms"])): for i in range(len(specs["perms"])):
data.append(space * 2 + extraspace + f'{specs["perms_names"][i]} = "{specs["perms"][i]}",') data.append(space * 2 + extraspace + f'{specs["perms_names"][i]} = "{specs["perms"][i]}",')
if index == last:
data.append(space * 1 + extraspace + '}')
else:
data.append(space * 1 + extraspace + '},') data.append(space * 1 + extraspace + '},')
data.append(' ') data.append(' ')
@ -543,7 +555,9 @@ def generate_bffh_actors(machines):
data.append('{') data.append('{')
# Inhalt # Inhalt
for id, m in machines.items(): last = len(machines) - 1
for index, (id, m) in enumerate(machines.items()):
specs = m.get_machine() specs = m.get_machine()
if len(specs["actor_id"]) > 0 and len(specs["actor_type"]) > 0: if len(specs["actor_id"]) > 0 and len(specs["actor_type"]) > 0:
@ -568,7 +582,12 @@ def generate_bffh_actors(machines):
data.append(space * 3 + extraspace + f'{key} = {string},') data.append(space * 3 + extraspace + f'{key} = {string},')
data.append(space * 2 + extraspace + '}') data.append(space * 2 + extraspace + '}')
if index == last:
data.append(space * 1 + extraspace + '}')
else:
data.append(space * 1 + extraspace + '},') data.append(space * 1 + extraspace + '},')
data.append(' ') data.append(' ')
# Ende Datenstruktur # Ende Datenstruktur
@ -592,11 +611,17 @@ def generate_bffh_actorconnections(machines):
data.append('[') data.append('[')
# Inhalt # Inhalt
for id, m in machines.items(): last = len(machines) - 1
for index, (id, m) in enumerate(machines.items()):
specs = m.get_machine() specs = m.get_machine()
if len(specs["actor_id"]) > 0 and len(specs["actor_type"]) > 0: if len(specs["actor_id"]) > 0 and len(specs["actor_type"]) > 0:
actor_fullid = specs["actor_type"] + '_' + specs["actor_id"] actor_fullid = specs["actor_type"] + '_' + specs["actor_id"]
if index == last:
data.append(space * 1 + extraspace + '{ ' + f'machine = "{specs["fa_id"]}", actor = "{actor_fullid}"' + ' }')
else:
data.append(space * 1 + extraspace + '{ ' + f'machine = "{specs["fa_id"]}", actor = "{actor_fullid}"' + ' },') data.append(space * 1 + extraspace + '{ ' + f'machine = "{specs["fa_id"]}", actor = "{actor_fullid}"' + ' },')
# Ende Datenstruktur # Ende Datenstruktur