Ejemplo n.º 1
0
 def __create_logger_directory(self):
     try:
         os.mkdir(
             os.path.join(
                 Pathfinder.get_wonderdraft_userfolder(),
                 YMLConfigReader.get_changeling_manager_directory_name(),
                 YMLConfigReader.get_logger_directory_name()))
     except OSError as exception:
         logging.getLogger('debug').exception(
             'You can\'t create the logger folder twice')
Ejemplo n.º 2
0
    def edit_profile(self, profilename: str):
        if profilename != 'all':
            executable_editor = YMLConfigReader.get_profile_editor_name()
            profiledir = Pathfinder.get_profile_directory()
            pre_edit_profile = self.__safe_profile_before_edit(profilename)
            if os.path.exists(os.path.join(profiledir, profilename + '.yml')):
                process = subprocess.run([
                    executable_editor,
                    os.path.join(profiledir,
                                 os.path.splitext(profilename)[0] + '.yml')
                ],
                                         check=True)
                if not process.check_returncode():
                    if self.__validate_profile_after_edit(profilename):
                        click.echo(Fore.LIGHTMAGENTA_EX + 'Edit of profile ' +
                                   Fore.GREEN + profilename +
                                   Fore.LIGHTMAGENTA_EX + ' complete')
                    else:
                        click.echo(
                            Fore.LIGHTRED_EX + 'Edit of profile ' +
                            profilename +
                            ' invalid. Your changes invalidated the profile.'
                            ' Changeling will now reset the profile to its'
                            ' previous state!')
                        self.__revert_to_previous(profilename,
                                                  pre_edit_profile)

            else:
                click.echo(
                    Fore.LIGHTRED_EX +
                    'This profile does not exist. Please provide an existing profilename'
                )
        else:
            click.echo(Fore.LIGHTRED_EX +
                       'You can\'t edit the "all" profile. It is restricted')
Ejemplo n.º 3
0
 def __create_deactivated_folder_generic(self, path_splitter, name):
     try:
         os.mkdir(
             os.path.join(
                 Pathfinder.get_wonderdraft_userfolder(),
                 YMLConfigReader.get_changeling_manager_directory_name(),
                 path_splitter))
     except OSError as exception:
         logging.getLogger('debug').exception(
             'You can\'t create the inactive ' + name + ' folder twice')
Ejemplo n.º 4
0
    def update_config(self):
        version_current = YMLConfigReader.get_current_version()
        version_local = YMLConfigReader.get_local_version()

        if version_current != version_local:
            with open(os.path.join(Util.get_root(), 'changeling', 'config', 'config.yml')) as current_conf, \
                 open(Util.get_config_file_location()) as local_conf:
                try:
                    current_yaml_conf = self.__open_config(current_conf)
                    local_yaml_conf = self.__open_config(local_conf)
                    soft_updated_conf = {
                        **current_yaml_conf,
                        **local_yaml_conf
                    }
                    adjusted_version_soft_update = self.__adjust_version(
                        soft_updated_conf, version_current)
                    self.__write_config_file(adjusted_version_soft_update)
                except yaml.YAMLError as exception:
                    logging.getLogger('debug').exception('')
Ejemplo n.º 5
0
 def __sanity_check_inactive_themes_dir(self):
     return os.path.exists(
         os.path.join(
             Pathfinder.get_wonderdraft_userfolder(),
             YMLConfigReader.get_changeling_manager_directory_name(),
             YMLConfigReader.get_deactivated_themes_folder_name()))
Ejemplo n.º 6
0
 def __sanity_check_main_dir(self):
     return os.path.exists(
         os.path.join(
             Pathfinder.get_wonderdraft_userfolder(),
             YMLConfigReader.get_changeling_manager_directory_name()))
Ejemplo n.º 7
0
 def __create_deactivated_brushes_folder(self):
     self.__create_deactivated_folder_generic(
         YMLConfigReader.get_deactivated_brushes_folder_name(), 'brushes')
Ejemplo n.º 8
0
 def __create_deactivated_assets_folder(self):
     self.__create_deactivated_folder_generic(
         YMLConfigReader.get_deactivated_assets_folder_name(), 'assets')
Ejemplo n.º 9
0
 def version(self):
     return YMLConfigReader.get_local_version()
Ejemplo n.º 10
0
def show_profile(profilename):
    click.echo(Fore.LIGHTMAGENTA_EX)
    click.echo(show_profile_handler.show_profile(profilename))


@is_setup
@click.command()
@click.argument('profilename')
def edit_profile(profilename):
    edit_handler.edit_profile(profilename)


@is_setup
@click.command()
@click.option('--changelingfolder',
              default=YMLConfigReader.get_changeling_manager_directory_name(),
              help='Rename main changeling folder folder')
@click.option('--loggingfolder',
              default=YMLConfigReader.get_logger_directory_name(),
              help='Rename logging folder')
@click.option('--inactivefolder',
              default=YMLConfigReader.get_deactivated_assets_folder_name(),
              help='Rename inactive modules folder')
def configure(changelingfolder, loggingfolder, inactivefolder):
    click.echo(
        Fore.LIGHTMAGENTA_EX +
        'Renaming the folders with a command will be implemented in a later release. Stay tuned'
    )
    # configurehandler.configure(changelingfolder, inactivefolder, loggingfolder)