mirror of
				https://github.com/MarioSpore/Grinch-AP.git
				synced 2025-10-21 20:21:32 -06:00 
			
		
		
		
	Core: Add settings API ("auto settings") for host.yaml (#1871)
* Add settings API ("auto settings") for host.yaml
* settings: no BOM when saving
* settings: fix saving / groups resetting themselves
* settings: fix AutoWorldRegister import
Co-authored-by: el-u <109771707+el-u@users.noreply.github.com>
* Lufia2: settings: clean up imports
* settings: more consistent class naming
* Docs: update world api for settings api refactor
* settings: fix access from World instance
* settings: update migration timeline
* Docs: Apply suggestions from code review
Co-authored-by: Zach Parks <zach@alliware.com>
* Settings: correctly resolve .exe in UserPath and LocalPath
---------
Co-authored-by: el-u <109771707+el-u@users.noreply.github.com>
Co-authored-by: Zach Parks <zach@alliware.com>
			
			
This commit is contained in:
		| @@ -73,13 +73,21 @@ class TestGenerateMain(unittest.TestCase): | ||||
|  | ||||
|     def test_generate_yaml(self): | ||||
|         # override host.yaml | ||||
|         defaults = Generate.Utils.get_options()["generator"] | ||||
|         defaults["player_files_path"] = str(self.yaml_input_dir) | ||||
|         defaults["players"] = 0 | ||||
|  | ||||
|         sys.argv = [sys.argv[0], '--seed', '0', | ||||
|                     '--outputpath', self.output_tempdir.name] | ||||
|         print(f'Testing Generate.py {sys.argv} in {os.getcwd()}, player_files_path={self.yaml_input_dir}') | ||||
|         Generate.main() | ||||
|         from settings import get_settings | ||||
|         from Utils import user_path, local_path | ||||
|         settings = get_settings() | ||||
|         # NOTE: until/unless we override settings.Group's setattr, we have to upcast the input dir here | ||||
|         settings.generator.player_files_path = settings.generator.PlayerFilesPath(self.yaml_input_dir) | ||||
|         settings.generator.players = 0 | ||||
|         settings._filename = None  # don't write to disk | ||||
|         user_path_backup = user_path.cached_path | ||||
|         user_path.cached_path = local_path()  # test yaml is actually in local_path | ||||
|         try: | ||||
|             sys.argv = [sys.argv[0], '--seed', '0', | ||||
|                         '--outputpath', self.output_tempdir.name] | ||||
|             print(f'Testing Generate.py {sys.argv} in {os.getcwd()}, player_files_path={self.yaml_input_dir}') | ||||
|             Generate.main() | ||||
|         finally: | ||||
|             user_path.cached_path = user_path_backup | ||||
|  | ||||
|         self.assertOutput(self.output_tempdir.name) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 black-sliver
					black-sliver