()
| 378 | |
| 379 | |
| 380 | def main(): |
| 381 | parser = argparse.ArgumentParser(description="Migrate WordPress docs to Markdown") |
| 382 | parser.add_argument("--site", default="https://reguverse.com", |
| 383 | help="WordPress site URL (default: https://reguverse.com)") |
| 384 | parser.add_argument("--output", default=".", |
| 385 | help="Output directory (default: current directory)") |
| 386 | parser.add_argument("--filter", default=None, |
| 387 | help="Filter docs by URL substring (e.g. 'nmpa', 'eu-mdr')") |
| 388 | parser.add_argument("--list-structure", action="store_true", |
| 389 | help="Show URL->path mapping without migrating") |
| 390 | parser.add_argument("--dry-run", action="store_true", |
| 391 | help="Show what would be migrated without writing files") |
| 392 | parser.add_argument("--delay", type=float, default=0.3, |
| 393 | help="Delay between API requests in seconds (default: 0.3)") |
| 394 | args = parser.parse_args() |
| 395 | |
| 396 | migrator = WordPressMigrator( |
| 397 | args.site, args.output, args.delay, |
| 398 | dry_run=args.dry_run, |
| 399 | url_filter=args.filter, |
| 400 | ) |
| 401 | |
| 402 | if args.list_structure: |
| 403 | migrator.list_structure() |
| 404 | return |
| 405 | |
| 406 | migrator.migrate(url_filter=args.filter) |
| 407 | |
| 408 | |
| 409 | if __name__ == "__main__": |
no test coverage detected