from pathlib import Path legacy = Path(r"d:/Projects/Ai-DOP/SourceCode/references/Admin.NET/ai-dop-platform/legacy-demo/frontend/src") web = Path(r"d:/Projects/Ai-DOP/SourceCode/references/Admin.NET/Web/src/views/aidop/kanban") (web / "components").mkdir(parents=True, exist_ok=True) (web / "data").mkdir(parents=True, exist_ok=True) # copy component and data (web / "components/DetailQueryBar.vue").write_text((legacy / "components/DetailQueryBar.vue").read_text(encoding='utf-8'), encoding='utf-8') (web / "data/homeModulesSync.ts").write_text((legacy / "data/homeModulesSync.js").read_text(encoding='utf-8'), encoding='utf-8') (web / "data/s2Kpis.ts").write_text((legacy / "data/s2Kpis.js").read_text(encoding='utf-8'), encoding='utf-8') mapping = { "S0View.vue": "s0.vue", "S1View.vue": "s1.vue", "S2View.vue": "s2.vue", "S3View.vue": "s3.vue", "S4View.vue": "s4.vue", "S5View.vue": "s5.vue", "S6View.vue": "s6.vue", "S7View.vue": "s7.vue", } for src_name, dst_name in mapping.items(): t = (legacy / "views" / src_name).read_text(encoding='utf-8') t = t.replace("../components/DetailQueryBar.vue", "./components/DetailQueryBar.vue") t = t.replace("../data/homeModulesSync.js", "./data/homeModulesSync") t = t.replace("../data/s2Kpis.js", "./data/s2Kpis") (web / dst_name).write_text(t, encoding='utf-8') # smart diagnosis diag_dir = Path(r"d:/Projects/Ai-DOP/SourceCode/references/Admin.NET/Web/src/views/aidop/diagnosis") diag_dir.mkdir(parents=True, exist_ok=True) (diag_dir / "index.vue").write_text((legacy / "views/SmartDiagnosisView.vue").read_text(encoding='utf-8'), encoding='utf-8') print('copied kanban views and diagnosis')