def create_default_file(cls, data=None, mode=None):
        """Create a config file and override data if specified."""
        filepath = cls.get_default_filepath()
        if not filepath:
            return False

        filename = os.path.basename(filepath)
        config = read_file(get_data_path(), filename)

        # Find and replace data in default config
        data = data or {}
        for k, v in six.iteritems(data):
            v = v or ""
            config = re.sub(
                r"^(%(key)s) =[ ]*$" % {"key": k},
                "%(key)s = %(value)s" % {"key": k, "value": v},
                config,
                flags=re.MULTILINE,
            )

        dirpath = os.path.dirname(filepath)
        if not os.path.exists(dirpath):
            os.makedirs(dirpath)
        with click.open_file(filepath, "w+") as f:
            f.write(config)

        if mode is not None:
            os.chmod(filepath, mode)

        return True
def create_default_file ( cls , data = None , mode = None ) : filepath = cls . get_default_filepath ( ) if not filepath : return False filename = os . path . basename ( filepath ) config = read_file ( get_data_path ( ) , filename ) data = data or { } for k , v in six . iteritems ( data ) : v = v or "" config = re . sub ( r"^(%(key)s) =[ ]*$" % { "key" : k } , "%(key)s = %(value)s" % { "key" : k , "value" : v } , config , flags = re . MULTILINE , ) dirpath = os . path . dirname ( filepath ) if not os . path . exists ( dirpath ) : os . makedirs ( dirpath ) with click . open_file ( filepath , "w+" ) as f : f . write ( config ) if mode is not None : os . chmod ( filepath , mode ) return True
Create a config file and override data if specified.