def get_instance_data_file(file_id): """Returns a filename to be used by a user script to store data under current Revit instance. Instance data files are saved in app directory and are cleaned up at Revit restart. """ from pyrevit.coreutils.appdata import get_instance_data_file script_file_id = '{}_{}'.format(COMMAND_NAME, file_id) return get_instance_data_file(script_file_id)
def get_instance_data_file(file_id, add_cmd_name=False): """Return filename to be used by a user script to store data. File name is generated in this format: ``pyRevit_{Revit Version}_{Process Id}_{file_id}.{file_ext}`` Example: >>> script.get_instance_data_file('mydata') '.../pyRevit_2018_6684_mydata.tmp' >>> script.get_instance_data_file('mydata', add_cmd_name=True) '.../pyRevit_2018_6684_Command Name_mydata.tmp' Instance data files are cleaned up at pyRevit startup. Args: file_id (str): unique id for the filename add_cmd_name (bool, optional): add command name to file name Returns: str: full file path """ if add_cmd_name: script_file_id = '{}_{}'.format(EXEC_PARAMS.command_name, file_id) else: script_file_id = file_id return appdata.get_instance_data_file(script_file_id)
def _get_host_serverinfo_file(): return appdata.get_instance_data_file(file_id=DATAFILE_ID, file_ext='pickle')