mirror of
https://github.com/elem74/fabaccess-config-generator.git
synced 2025-03-12 23:01:57 +01:00
2024.12b
This commit is contained in:
parent
a4dafd856e
commit
89f1909848
@ -67,6 +67,30 @@ if settings["fa_dhall_update"] == True:
|
|||||||
print('Einstellung "fa_dhall_file" ist leer, es wurde kein Pfad zur bffh.dhall angegeben.')
|
print('Einstellung "fa_dhall_file" ist leer, es wurde kein Pfad zur bffh.dhall angegeben.')
|
||||||
print('Bitte das Feld ausfüllen oder "fa_dhall_update" auf "False" setzen.')
|
print('Bitte das Feld ausfüllen oder "fa_dhall_update" auf "False" setzen.')
|
||||||
|
|
||||||
|
if settings["fa_dhall_create"] == True:
|
||||||
|
|
||||||
|
fa_dhall_directory = settings["fa_dhall_directory"].replace('\\', '/')
|
||||||
|
|
||||||
|
# Rollen
|
||||||
|
target = fa_dhall_directory + '/' + 'roles.dhall'
|
||||||
|
target = target.replace('//', '/')
|
||||||
|
write_file(target, export_roles)
|
||||||
|
|
||||||
|
# Maschinen
|
||||||
|
target = fa_dhall_directory + '/' + 'machines.dhall'
|
||||||
|
target = target.replace('//', '/')
|
||||||
|
write_file(target, export_machines)
|
||||||
|
|
||||||
|
# Aktoren
|
||||||
|
target = fa_dhall_directory + '/' + 'actors.dhall'
|
||||||
|
target = target.replace('//', '/')
|
||||||
|
write_file(target, export_actors)
|
||||||
|
|
||||||
|
# Aktorenverbindung
|
||||||
|
target = fa_dhall_directory + '/' + 'actorconnections.dhall'
|
||||||
|
target = target.replace('//', '/')
|
||||||
|
write_file(target, export_actorconnections)
|
||||||
|
|
||||||
# Mermaid-Code
|
# Mermaid-Code
|
||||||
if settings["generate_mermaid"] == True:
|
if settings["generate_mermaid"] == True:
|
||||||
print(' --- Mermaid-Code erzeugen')
|
print(' --- Mermaid-Code erzeugen')
|
||||||
|
@ -469,20 +469,29 @@ def generate_roles(machines):
|
|||||||
def generate_bffh_roles(roles):
|
def generate_bffh_roles(roles):
|
||||||
|
|
||||||
data = []
|
data = []
|
||||||
|
|
||||||
# Rollen
|
|
||||||
data.append(space + 'roles = {')
|
|
||||||
|
|
||||||
|
# Anfang Datenstruktur
|
||||||
|
if settings["fa_dhall_create"] == False:
|
||||||
|
data.append(space + 'roles = {')
|
||||||
|
else:
|
||||||
|
data.append('{')
|
||||||
|
|
||||||
|
# Inhalt
|
||||||
for role in roles:
|
for role in roles:
|
||||||
data.append(space * 2 + f'{role}' + ' = {')
|
data.append(space * 1 + extraspace + f'{role}' + ' =')
|
||||||
data.append(space * 3 + 'permissions = [')
|
data.append(space * 1 + extraspace + '{')
|
||||||
|
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 * 3 + ']')
|
data.append(space * 2 + extraspace + ']')
|
||||||
data.append(space * 2 + '},')
|
data.append(space * 1 + extraspace + '},')
|
||||||
data.append(' ')
|
data.append(' ')
|
||||||
|
|
||||||
data.append(space + '},')
|
# Ende Datenstruktur
|
||||||
|
if settings["fa_dhall_create"] == False:
|
||||||
|
data.append(space + '},')
|
||||||
|
else:
|
||||||
|
data.append('}')
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
@ -491,22 +500,34 @@ def generate_bffh_machines(machines):
|
|||||||
|
|
||||||
data = []
|
data = []
|
||||||
|
|
||||||
data.append(space + 'machines = {')
|
# Anfang Datenstruktur
|
||||||
|
if settings["fa_dhall_create"] == False:
|
||||||
|
data.append(space + 'machines = {')
|
||||||
|
else:
|
||||||
|
data.append('{')
|
||||||
|
|
||||||
|
# Inhalt
|
||||||
for id, m in machines.items():
|
for id, m in machines.items():
|
||||||
specs = m.get_machine()
|
specs = m.get_machine()
|
||||||
data.append(space * 2 + f'{specs["fa_id"]}' + ' = {')
|
data.append(space * 1 + extraspace + f'{specs["fa_id"]}' + ' =')
|
||||||
data.append(space * 3 + f'name = "{specs["name"]}",')
|
data.append(space * 1 + extraspace + '{')
|
||||||
data.append(space * 3 + f'description = "{specs["desc"]}",')
|
data.append(space * 2 + extraspace + f'name = "{specs["name"]}",')
|
||||||
data.append(space * 3 + f'wiki = "{specs["wikiurl"]}",')
|
data.append(space * 2 + extraspace + f'description = "{specs["desc"]}",')
|
||||||
data.append(space * 3 + f'category = "{specs["category"]}",')
|
data.append(space * 2 + extraspace + f'wiki = "{specs["wikiurl"]}",')
|
||||||
|
data.append(space * 2 + extraspace + f'category = "{specs["category"]}",')
|
||||||
|
|
||||||
|
|
||||||
for i in range(len(specs["perms"])):
|
for i in range(len(specs["perms"])):
|
||||||
data.append(space * 3 + f'{specs["perms_names"][i]} = "{specs["perms"][i]}",')
|
data.append(space * 2 + extraspace + f'{specs["perms_names"][i]} = "{specs["perms"][i]}",')
|
||||||
|
|
||||||
data.append(space * 2 + '},')
|
data.append(space * 1 + extraspace + '},')
|
||||||
data.append(' ')
|
data.append(' ')
|
||||||
data.append(space + '},')
|
|
||||||
|
# Ende Datenstruktur
|
||||||
|
if settings["fa_dhall_create"] == False:
|
||||||
|
data.append(space + '},')
|
||||||
|
else:
|
||||||
|
data.append('}')
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
@ -515,8 +536,13 @@ def generate_bffh_actors(machines):
|
|||||||
|
|
||||||
data = []
|
data = []
|
||||||
|
|
||||||
data.append(space + 'actors = {')
|
# Anfang Datenstruktur
|
||||||
|
if settings["fa_dhall_create"] == False:
|
||||||
|
data.append(space + 'actors = {')
|
||||||
|
else:
|
||||||
|
data.append('{')
|
||||||
|
|
||||||
|
# Inhalt
|
||||||
for id, m in machines.items():
|
for id, m in machines.items():
|
||||||
specs = m.get_machine()
|
specs = m.get_machine()
|
||||||
|
|
||||||
@ -525,11 +551,11 @@ def generate_bffh_actors(machines):
|
|||||||
|
|
||||||
# 2do Actor Library Funktionalität
|
# 2do Actor Library Funktionalität
|
||||||
|
|
||||||
data.append(f' {actor_handle} =')
|
data.append(space * 1 + extraspace + f'{actor_handle} =')
|
||||||
data.append(' {')
|
data.append(space * 1 + extraspace + '{')
|
||||||
data.append(f' module = "{actor_library[specs["actor_type"]]["module"]}",')
|
data.append(space * 2 + extraspace + f'module = "{actor_library[specs["actor_type"]]["module"]}",')
|
||||||
data.append(' params =')
|
data.append(space * 2 + extraspace + 'params =')
|
||||||
data.append(' {')
|
data.append(space * 2 + extraspace + '{')
|
||||||
|
|
||||||
# Aktor-ID der aktuellen Maschine speichern
|
# Aktor-ID der aktuellen Maschine speichern
|
||||||
replace = {
|
replace = {
|
||||||
@ -539,11 +565,17 @@ def generate_bffh_actors(machines):
|
|||||||
for key, value in actor_library[specs["actor_type"]]["params"].items():
|
for key, value in actor_library[specs["actor_type"]]["params"].items():
|
||||||
template = Template(value)
|
template = Template(value)
|
||||||
string = template.substitute(replace)
|
string = template.substitute(replace)
|
||||||
data.append(f' {key} = {string},')
|
data.append(space * 3 + extraspace + f'{key} = {string},')
|
||||||
data.append(' }')
|
|
||||||
data.append(' },')
|
data.append(space * 2 + extraspace + '}')
|
||||||
|
data.append(space * 1 + extraspace + '},')
|
||||||
data.append(' ')
|
data.append(' ')
|
||||||
data.append(space + '}, ')
|
|
||||||
|
# Ende Datenstruktur
|
||||||
|
if settings["fa_dhall_create"] == False:
|
||||||
|
data.append(space + '},')
|
||||||
|
else:
|
||||||
|
data.append('}')
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
@ -553,16 +585,25 @@ def generate_bffh_actorconnections(machines):
|
|||||||
|
|
||||||
data = []
|
data = []
|
||||||
|
|
||||||
data.append(space + 'actor_connections = [')
|
# Anfang Datenstruktur
|
||||||
|
if settings["fa_dhall_create"] == False:
|
||||||
|
data.append(space + 'actor_connections = [')
|
||||||
|
else:
|
||||||
|
data.append('[')
|
||||||
|
|
||||||
|
# Inhalt
|
||||||
for id, m in machines.items():
|
for id, m in 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"]
|
||||||
data.append(space * 2 + '{ ' + f'machine = "{specs["fa_id"]}", actor = "{actor_fullid}"' + ' },')
|
data.append(space * 1 + extraspace + '{ ' + f'machine = "{specs["fa_id"]}", actor = "{actor_fullid}"' + ' },')
|
||||||
|
|
||||||
data.append(space + '],')
|
# Ende Datenstruktur
|
||||||
|
if settings["fa_dhall_create"] == False:
|
||||||
|
data.append(space + '],')
|
||||||
|
else:
|
||||||
|
data.append(']')
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
@ -5,6 +5,11 @@ from generator.helpers import load_actors
|
|||||||
settings = config_load('settings.ini', 'generator')
|
settings = config_load('settings.ini', 'generator')
|
||||||
actor_library = load_actors('actors.ini')
|
actor_library = load_actors('actors.ini')
|
||||||
|
|
||||||
|
if settings["fa_dhall_create"] == False:
|
||||||
|
extraspace = '\t'
|
||||||
|
else:
|
||||||
|
extraspace = ''
|
||||||
|
|
||||||
icon_admin = "👑"
|
icon_admin = "👑"
|
||||||
icon_manager = "🛠️"
|
icon_manager = "🛠️"
|
||||||
# icon_user = "🧍"
|
# icon_user = "🧍"
|
||||||
|
@ -23,11 +23,15 @@ manager_subarea = False
|
|||||||
|
|
||||||
; Automatisches Einfügen aller erzeugten Daten (Maschinen, Rolle, Aktoren, Aktor-Verbindungen) in die bffh.dhall
|
; Automatisches Einfügen aller erzeugten Daten (Maschinen, Rolle, Aktoren, Aktor-Verbindungen) in die bffh.dhall
|
||||||
; Die Datei muss über Platzhalter verfügen, siehe Beispieldatei ( /docs/bffh-vorlage.dhall )
|
; Die Datei muss über Platzhalter verfügen, siehe Beispieldatei ( /docs/bffh-vorlage.dhall )
|
||||||
fa_dhall_update = True
|
fa_dhall_update = False
|
||||||
|
|
||||||
; Pfad zur bffh.dall von FabAccess. Der Pfad muss vollständig sein und die bffh.dhall beinhalten.
|
; Pfad zur bffh.dall von FabAccess. Der Pfad muss vollständig sein und die bffh.dhall beinhalten.
|
||||||
; Beispiel: D:\FabAccess\config\bffh\bffh.dhall bzw. /home/fabaccess/bffh/bffh.dhall
|
; Beispiel: D:\FabAccess\config\bffh\bffh.dhall bzw. /home/fabaccess/bffh/bffh.dhall
|
||||||
fa_dhall_file = F:\Git\fabaccess-docker\config\bffh\bffh.dhall
|
fa_dhall_file = F:\fabaccess-docker\config\bffh\bffh.dhall
|
||||||
|
|
||||||
|
; Erzeugt DHALL-Dateien für Rollen, Maschinen, Aktoren und Aktorenverbindungen
|
||||||
|
fa_dhall_create = True
|
||||||
|
fa_dhall_directory = F:\fabaccess-docker\config\bffh\
|
||||||
|
|
||||||
; Mermaid-Code erzeugen
|
; Mermaid-Code erzeugen
|
||||||
generate_mermaid = True
|
generate_mermaid = True
|
||||||
|
Loading…
x
Reference in New Issue
Block a user