diff options
| author | alex <alex@pdp7.net> | 2026-01-24 14:08:01 +0100 |
|---|---|---|
| committer | alexpdp7 <alex@corcoles.net> | 2026-01-24 13:08:56 +0000 |
| commit | f82d54a8cc80ee9b567ad37f824d5ed346e73dc7 (patch) | |
| tree | 5131a572e5705198450deb78a5da66157e38f718 /blog_v2/src | |
| parent | 669048efa4514653bc7b5681d2ac00700b8dc05e (diff) | |
Draft migration
Diffstat (limited to 'blog_v2/src')
| -rw-r--r-- | blog_v2/src/blog/.gitignore | 1 | ||||
| -rw-r--r-- | blog_v2/src/blog/__init__.py | 31 |
2 files changed, 32 insertions, 0 deletions
diff --git a/blog_v2/src/blog/.gitignore b/blog_v2/src/blog/.gitignore new file mode 100644 index 00000000..bee8a64b --- /dev/null +++ b/blog_v2/src/blog/.gitignore @@ -0,0 +1 @@ +__pycache__ diff --git a/blog_v2/src/blog/__init__.py b/blog_v2/src/blog/__init__.py new file mode 100644 index 00000000..03f48996 --- /dev/null +++ b/blog_v2/src/blog/__init__.py @@ -0,0 +1,31 @@ +import argparse +import pathlib +import shutil + + +def migrate(from_: pathlib.Path, to: pathlib.Path): + to.mkdir(parents=True, exist_ok=False) + shutil.copytree(from_ / "content", to, dirs_exist_ok=True) + shutil.copytree(from_ / "static" / "about", to / "about", dirs_exist_ok=True) + laspelis = to / "laspelis" + laspelis.mkdir() + for lp in (from_ / "static" / "laspelis").glob("*"): + if not lp.is_dir(): + print("skipping", lp) + continue + shutil.copy(lp / "mail", laspelis / f"{lp.name}.mail") + shutil.copy(lp / "index.gmi", laspelis / f"{lp.name}.gmi") + + +def main() -> None: + parser = argparse.ArgumentParser() + subparsers = parser.add_subparsers(required=True) + + subparser = subparsers.add_parser("migrate") + subparser.add_argument("from_", type=pathlib.Path) + subparser.add_argument("to", type=pathlib.Path) + subparser.set_defaults(command=migrate) + + args = vars(parser.parse_args()) + command = args.pop("command") + command(**args) |
