()
| 322 | |
| 323 | |
| 324 | def main(): |
| 325 | parser = argparse.ArgumentParser(description="Migrate WordPress posts to insights/") |
| 326 | parser.add_argument("--site", default="https://reguverse.com", |
| 327 | help="WordPress site URL") |
| 328 | parser.add_argument("--output", default=".", |
| 329 | help="Output directory (repo root)") |
| 330 | parser.add_argument("--list", action="store_true", |
| 331 | help="List posts and their subcategories without migrating") |
| 332 | parser.add_argument("--dry-run", action="store_true", |
| 333 | help="Show what would be migrated without writing files") |
| 334 | parser.add_argument("--delay", type=float, default=0.3, |
| 335 | help="Delay between API requests in seconds") |
| 336 | args = parser.parse_args() |
| 337 | |
| 338 | migrator = PostsMigrator(args.site, args.output, args.delay, dry_run=args.dry_run) |
| 339 | |
| 340 | if args.list: |
| 341 | migrator.list_posts() |
| 342 | return |
| 343 | |
| 344 | migrator.migrate() |
| 345 | |
| 346 | |
| 347 | if __name__ == "__main__": |
no test coverage detected