def set_preference_file_setting(setting, value): """ Generic method to save data into the preference file Args: setting (str): name of the setting to store value (str / bool): value for the setting """ # preference file pref_file = get_preference_file() try: # reads file pref_file = open(get_preference_file(), "r") # edits path data = json.load(pref_file) data[setting] = value pref_file.close() # writes file pref_file = open(get_preference_file(), "w") json.dump(data, pref_file, indent=4) pref_file.close() except Exception as e: message = "Contact mGear's developers reporting this issue to get help" print("{} - {} / {}".format(type(e).__name__, e, message)) return None
def __create_preference_file(): """ Creates the json file to store preferences for the cache manager The preference file is created inside the preference folder. It's placement is defined by the MAYA_APP_DIR environment variable and it's name by the _MANAGER_PREFERENCE_FILE constant Returns: str: Path to the preference file """ try: # creates file pref_file = open(get_preference_file(), "w") # creates the data structure data = {} data["cache_manager_cache_path"] = "" data["cache_manager_model_group"] = "" data["cache_manager_unload_rigs"] = 1 json.dump(data, pref_file, indent=4) pref_file.close() return pref_file.name except Exception as e: message = "Contact mGear's developers reporting this issue to get help" print("{} - {} / {}".format(type(e).__name__, e, message))
def create_cache_manager_preference_file(): """ Creates the Animbits cache manager preference file Returns: str or None: Path to the preference file if existing or created one. None if failed """ pref_file = get_preference_file() if not os.path.exists(pref_file): __create_preference_folder() pref_file = __create_preference_file() return pref_file