def init_user_dir_caches(): """Caches the GLib user directories >>> init_user_dir_caches() The first time this module is imported is from a particular point in the launch script, after all the i18n setup is done and before lib.mypaintlib is imported. If they're not cached up-front in this manner, get_user_config_dir() & friends may return literal "?"s in place of non-ASCII characters (Windows systems with non-ASCII user profile dirs are known to trigger this). The debugging prints may be useful too. """ logger.debug("Init g_get_user_config_dir(): %r", get_user_config_dir()) logger.debug("Init g_get_user_data_dir(): %r", get_user_data_dir()) logger.debug("Init g_get_user_cache_dir(): %r", get_user_cache_dir()) # It doesn't matter if some of these are None for i in range(GLib.UserDirectory.N_DIRECTORIES): k = GLib.UserDirectory(i) logger.debug( "Init g_get_user_special_dir(%s): %r", k.value_name, get_user_special_dir(k), )