Пример #1
0
class GlobalSettings:
    def __init__(self):
        home = str(Path.home())
        self._fileinfo = FileInfo(os.path.join(home, SYNC_CONFIG_NAME))
        self._data = self._fileinfo.load() if self._fileinfo.is_exists(
        ) else {}

    def _save(self):
        self._fileinfo.dump(self._data)

    @property
    def token(self):
        return self._data.get('token')

    @token.setter
    def token(self, value):
        self._data['token'] = value
        self._save()
Пример #2
0
def configure_gitignore(proj_info: ProjectInfo):
    logger = get_logger()
    gitignore = FileInfo(proj_info.root_dir)

    if not gitignore.is_exists():
        logger.info(f'{lightgreen(gitignore)} does not exists')
        return

    gitignore_text = gitignore.read_text().splitlines()
    gitignore_set = set(gitignore_text)
    appends = []
    for line in GIT_IGNORES_VALUES:
        if line not in gitignore_set:
            appends.append(line)

    if appends:
        if GIT_IGNORES_HEADER in gitignore_set:
            raise NotImplementedError
        else:
            gitignore_text.append('')
            gitignore_text.append(GIT_IGNORES_HEADER)
            gitignore_text.extend(appends)

        gitignore.write_text('\n'.join(gitignore_text), append=False)