| 
									
										
										
										
											2022-08-02 10:41:44 -08:00
										 |  |  | from _gen_utils import log, render_python_template | 
					
						
							| 
									
										
										
										
											2022-01-09 21:04:24 -09:00
										 |  |  | from _static import PROJECT_DIR | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | template = """# GENERATED CODE - DO NOT MODIFY BY HAND
 | 
					
						
							|  |  |  | {% for file in data.files %}from .{{ file }} import * | 
					
						
							|  |  |  | {% endfor %} | 
					
						
							|  |  |  | """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | SCHEMA_PATH = PROJECT_DIR / "mealie" / "schema" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def generate_init_files() -> None: | 
					
						
							|  |  |  |     for schema in SCHEMA_PATH.iterdir(): | 
					
						
							|  |  |  |         if not schema.is_dir(): | 
					
						
							| 
									
										
										
										
											2022-08-02 10:41:44 -08:00
										 |  |  |             log.info(f"Skipping {schema}") | 
					
						
							| 
									
										
										
										
											2022-01-09 21:04:24 -09:00
										 |  |  |             continue | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-02 10:41:44 -08:00
										 |  |  |         log.info(f"Generating {schema}") | 
					
						
							| 
									
										
										
										
											2022-01-09 21:04:24 -09:00
										 |  |  |         init_file = schema.joinpath("__init__.py") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         module_files = [ | 
					
						
							|  |  |  |             f.stem for f in schema.iterdir() if f.is_file() and f.suffix == ".py" and not f.stem.startswith("_") | 
					
						
							|  |  |  |         ] | 
					
						
							|  |  |  |         render_python_template(template, init_file, {"files": module_files}) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def main(): | 
					
						
							| 
									
										
										
										
											2022-08-02 10:41:44 -08:00
										 |  |  |     log.info("Starting...") | 
					
						
							| 
									
										
										
										
											2022-01-09 21:04:24 -09:00
										 |  |  |     generate_init_files() | 
					
						
							| 
									
										
										
										
											2022-08-02 10:41:44 -08:00
										 |  |  |     log.info("Finished...") | 
					
						
							| 
									
										
										
										
											2022-01-09 21:04:24 -09:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == "__main__": | 
					
						
							|  |  |  |     main() |