@@ 446-481 (lines=36) @@ | ||
443 | ) |
|
444 | ||
445 | ||
446 | def _import(subs, shared): |
|
447 | """Configure the `doorstop import` subparser.""" |
|
448 | info = "import an existing document or item" |
|
449 | sub = subs.add_parser( |
|
450 | "import", description=info.capitalize() + ".", help=info, **shared |
|
451 | ) |
|
452 | sub.add_argument( |
|
453 | "path", nargs="?", help="path to previously exported document file" |
|
454 | ) |
|
455 | sub.add_argument("prefix", nargs="?", help="prefix of document for import") |
|
456 | group = sub.add_mutually_exclusive_group() |
|
457 | group.add_argument( |
|
458 | "-d", |
|
459 | "--document", |
|
460 | nargs=2, |
|
461 | metavar="ARG", |
|
462 | help="import an existing document by: PREFIX PATH", |
|
463 | ) |
|
464 | group.add_argument( |
|
465 | "-i", |
|
466 | "--item", |
|
467 | nargs=2, |
|
468 | metavar="ARG", |
|
469 | help="import an existing item by: PREFIX UID", |
|
470 | ) |
|
471 | sub.add_argument( |
|
472 | "-p", |
|
473 | "--parent", |
|
474 | metavar="PREFIX", |
|
475 | help="parent document prefix for imported document", |
|
476 | ) |
|
477 | sub.add_argument( |
|
478 | "-a", "--attrs", metavar="DICT", help="dictionary of item attributes to import" |
|
479 | ) |
|
480 | sub.add_argument( |
|
481 | "-m", "--map", metavar="DICT", help="dictionary of custom item attribute names" |
|
482 | ) |
|
483 | ||
484 | ||
@@ 485-504 (lines=20) @@ | ||
482 | ) |
|
483 | ||
484 | ||
485 | def _export(subs, shared): |
|
486 | """Configure the `doorstop export` subparser.""" |
|
487 | info = "export a document as YAML or another format" |
|
488 | sub = subs.add_parser( |
|
489 | "export", description=info.capitalize() + ".", help=info, **shared |
|
490 | ) |
|
491 | sub.add_argument("prefix", help="prefix of document to export or 'all'") |
|
492 | sub.add_argument( |
|
493 | "path", nargs="?", help="path to exported file or directory for 'all'" |
|
494 | ) |
|
495 | group = sub.add_mutually_exclusive_group() |
|
496 | group.add_argument( |
|
497 | "-y", "--yaml", action="store_true", help="output YAML (default when no path)" |
|
498 | ) |
|
499 | group.add_argument( |
|
500 | "-c", "--csv", action="store_true", help="output CSV (default for 'all')" |
|
501 | ) |
|
502 | group.add_argument("-t", "--tsv", action="store_true", help="output TSV") |
|
503 | group.add_argument("-x", "--xlsx", action="store_true", help="output XLSX") |
|
504 | sub.add_argument("-w", "--width", type=int, help="limit line width on text output") |
|
505 | ||
506 | ||
507 | def _publish(subs, shared): |