def temporary_user(dir_name, name="__Temporary Test User__", lang="en_US"): # prevent popping up language selection dialog original = ProfileManager.setDefaultLang def set_default_lang(profileManager): profileManager.setLang(lang) ProfileManager.setDefaultLang = set_default_lang pm = ProfileManager(base=dir_name) pm.setupMeta() # create profile no matter what (since we are starting in a unique temp directory) pm.create(name) # this needs to be called explicitly pm.setDefaultLang() pm.name = name yield name # cleanup pm.remove(name) ProfileManager.setDefaultLang = original
def temporary_user(dir_name, name="__Temporary Test User__", lang="en_US"): # prevent popping up language selection dialog original = ProfileManager._setDefaultLang def set_default_lang(profileManager): profileManager.setLang(lang) ProfileManager._setDefaultLang = set_default_lang pm = ProfileManager(base=dir_name) if name in pm.profiles(): warn(f"Temporary user named {name} already exists") else: pm.create(name) pm.name = name yield name pm.remove(name) ProfileManager._setDefaultLang = original