Skip to content

Commit

Permalink
Add examples
Browse files Browse the repository at this point in the history
  • Loading branch information
asmacdo committed Apr 27, 2024
1 parent 5d83528 commit 7702002
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 10 deletions.
21 changes: 20 additions & 1 deletion dandi/cli/cmd_download.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,20 @@
from ..download import DownloadExisting, DownloadFormat, PathType
from ..utils import get_instance, joinurl

_examples = """
EXAMPLES: \n
# Download only the dandiset.yaml \n
dandi download --download dandiset.yaml DANDI:000027 \n
# Download only dandiset.yaml if there is a newer version \n
dandi download https://identifiers.org/DANDI:000027 --existing refresh
# Download only the assets \n
dandi download --download assets DANDI:000027
# Download all from a specific version \n
dandi download DANDI:000027/0.210831.2033
"""

# The use of f-strings apparently makes this not a proper docstring, and so
# click doesn't use it unless we explicitly assign it to `help`:
Expand All @@ -20,9 +34,14 @@
\b
{_dandi_url_parser.resource_identifier_primer}
\b
{_dandi_url_parser.known_patterns}
"""
\b
{_examples}
"""
)
@click.option(
"-o",
Expand Down
20 changes: 11 additions & 9 deletions dandi/dandiarchive.py
Original file line number Diff line number Diff line change
Expand Up @@ -675,15 +675,17 @@ class _dandi_url_parser:
"https://<server>/...",
),
]
resource_identifier_primer = """dandi commands accept URLs and URL-like identifiers called
<resource ids> in the following formats for identifying Dandisets, assets, and asset
collections.
Text in [brackets] is optional. A <server> field is a base API or GUI URL
for a DANDI Archive instance. If an optional <version> field is omitted from
a URL, the given Dandiset's most recent published version will be used if it
has one, and its draft version will be used otherwise.
"""
resource_identifier_primer = """RESOURCE ID/URLS:\n
dandi commands and accept URLs and URL-like identifiers called
<resource ids> in the following formats for identifying Dandisets,
assets, and asset collections.
Text in [brackets] is optional. A <server> field is a base API or
GUI URL for a DANDI Archive instance. If an optional <version>
field is omitted from a URL, the given Dandiset's most recent
published version will be used if it has one, and its draft version
will be used otherwise.
"""
known_patterns = "Accepted resource identifier patterns:" + "\n - ".join(
[""] + [display for _, _, display in known_urls]
)
Expand Down

0 comments on commit 7702002

Please sign in to comment.