def config_environnements(getter, env, path, name_env = "global"):
    """
    Configure an environnement
    """
    # Sub-env
    for sub_env in list_folders(path):
        if sub_env != "presets":
            envi = Environnement(sub_env)
            env.add_env(envi)
            config_environnements(getter, envi, path+"/"+sub_env, name_env+"."+sub_env)

    config = File_yaml(getter, path+"/"+CONFIG_FILE)

    # Variables
    config.get("Variables", get_variables, args=env)

    # Objects
    config.get("Objects", get_objects, args = env)

    # Network interrupt
    config.get("Interrupts", get_network_inter, args = name_env)

    # Presets
    get_presets(getter, env, path+"/presets")

    # Modes
    config.get("Modes", get_modes, args = env)
Exemplo n.º 2
0
def get_page(manager, path, name):
    """
    Create page
    """
    file = File_yaml(manager, path)
    config = file.get("Config")
    if config:
        background_color, background_image = config.get_str(
            "background_color"), config.get_str("background_image")
        page = Page(name,
                    background_image=background_image,
                    background_color=background_color)
    else:
        page = Page(name)
    manager.add_page(page)

    # get sections
    for section in file.get("Sections", mandatory=True):
        page.add_section(get_section(section, page))

    # get static icons
    icons = file.get("Static_icons")
    if icons:
        for icon in icons:
            section, name = icon.get_str(
                "section", mandatory=True), icon.get_str("name",
                                                         mandatory=True)
            page.get_section(section).add_icon(get_icon(name, icon))
Exemplo n.º 3
0
def get_interrupt(getter, path, name_env):
    for sub_env in list_folders(path):
        if sub_env != "presets":
            get_interrupt(getter, path+"/"+sub_env, name_env+"."+sub_env)

    file = File_yaml(getter, path+"/config.yaml")
    interrupts = file.get("Interrupts")
    if interrupts:
        interrupts.get("config", mandatory = True, method=get_inter, args=name_env)
Exemplo n.º 4
0
class Secrets:
    """
    Decode a secret file
    with the password in the environnement variable "HOME_PASSWORD"
    """
    def __init__(self, getter):
        self.secrets = File_yaml(getter, PATH)

    def get_spotify_secret(self):
        return self.secrets.get("Spotify", mandatory=True)
Exemplo n.º 5
0
def parkour_presets(manager, path, env_name):
    for preset in list_files(path + "/presets"):
        html = File_yaml(manager, path + "/presets/" + preset).get("HTML")
        if html:
            get_icons(manager, html, env_name)

    for sub_env in list_folders(path):
        if sub_env != "presets":
            parkour_presets(manager, path + "/" + sub_env,
                            env_name + "." + sub_env)
Exemplo n.º 6
0
def get_modes(getter):
    for mode in File_yaml(getter, PATH + "/config.yaml").get("MODES",
                                                             mandatory=True):
        scenar_init, scenar_end = mode.get("scenario_init"), mode.get(
            "scenario_end")
        current = Mode(mode.get_str("name", mandatory=True), scenar_init,
                       scenar_end)
        getter.get_tree().add_mode(current)
        html = mode.get("html")
        if html:
            for inter in html:
                current.add_inter(inter.get_str("name", mandatory=True))
Exemplo n.º 7
0
def get_presets(getter, env, path):
    for preset_yaml in list_files(path):
        name = preset_yaml.split(".")[0]
        file = File_yaml(getter, "{}/{}".format(path, preset_yaml))
        preset = Preset(name, env.name)

        # Scenarios
        file.get("Scenarios", get_scenarios, args = [preset, env])

        # Interrupts Button
        interrupts = file.get("Interrupts")
        if interrupts:
            interrupts.get("buttons", get_inter_buttons, args = preset, mandatory = True)

        # HTML Button
        html = file.get("HTML")
        if html:
            get_html_buttons(html, preset)

        env.add_preset(preset)
Exemplo n.º 8
0
 def __init__(self, getter):
     self.secrets = File_yaml(getter, PATH)
def config_peripherics(getter):
    """
    Read the config file in data
    to setup the Peripheric_manager
    """
    config = File_yaml(getter, "data/config.yaml")

    # ME
    name = config.get_str("ME", mandatory=True)
    getter.get_manager().set_name(name)

    # BOARDS
    config.get("BOARDS", get_boards)

    #NETWORK
    config.get("NETWORK", get_network)

    #DMX
    config.get("DMX", get_dmx)

    #SOUND
    config.get("SOUND", get_sound)
Exemplo n.º 10
0
def get_button_mode(manager, path):
    file = File_yaml(manager, path + "/config.yaml")
    for mode in file.get("MODES", mandatory=True):
        html, name = mode.get("html"), mode.get_str("name", mandatory=True)
        if html:
            get_icons(manager, html, "mode." + name)