def user_resource(resource_type, *, path="", create=False): """ Return a user resource path (normally from the users home directory). :arg type: Resource type in ['DATAFILES', 'CONFIG', 'SCRIPTS', 'AUTOSAVE']. :type type: string :arg path: Optional subdirectory. :type path: string :arg create: Treat the path as a directory and create it if its not existing. :type create: boolean :return: a path. :rtype: string """ target_path = _user_resource(resource_type, path=path) if create: # should always be true. if target_path: # create path if not existing. if not _os.path.exists(target_path): try: _os.makedirs(target_path) except: import traceback traceback.print_exc() target_path = "" elif not _os.path.isdir(target_path): print("Path %r found but isn't a directory!" % target_path) target_path = "" return target_path
def user_resource(resource_type, path="", create=False): """ Return a user resource path (normally from the users home directory). :arg type: Resource type in ['DATAFILES', 'CONFIG', 'SCRIPTS', 'AUTOSAVE']. :type type: string :arg subdir: Optional subdirectory. :type subdir: string :arg create: Treat the path as a directory and create it if its not existing. :type create: boolean :return: a path. :rtype: string """ target_path = _user_resource(resource_type, path) if create: # should always be true. if target_path: # create path if not existing. if not _os.path.exists(target_path): try: _os.makedirs(target_path) except: import traceback traceback.print_exc() target_path = "" elif not _os.path.isdir(target_path): print("Path %r found but isn't a directory!" % target_path) target_path = "" return target_path
def script_path_user(): """returns the env var and falls back to home dir or None""" path = _user_resource('SCRIPTS') return _os.path.normpath(path) if path else None