Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
thombashi committed Jan 4, 2020
1 parent 9ccd46b commit 0e3a575
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 9 deletions.
84 changes: 77 additions & 7 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -129,34 +129,73 @@ filename/filepath validator for argparse
from argparse import ArgumentParser
from pathvalidate.argparse import filepath, filename
from pathvalidate.argparse import validate_filename_arg, validate_filepath_arg
parser = ArgumentParser()
parser.add_argument("--filepath", type=filepath)
parser.add_argument("--filename", type=filename)
parser.add_argument("--filepath", type=validate_filepath_arg)
parser.add_argument("--filename", type=validate_filename_arg)
options = parser.parse_args()
if options.filename:
print("filename: {}".format(options.filename))
if options.filepath:
print("filepath: {}".format(options.filepath))
:Output:
.. code-block::
$ ./examples/argparse_validate.py --filename eg
filename: eg
$ ./examples/argparse_validate.py --filepath e?g
usage: argparse_validate.py [-h] [--filepath FILEPATH] [--filename FILENAME]
argparse_validate.py: error: argument --filepath: invalid char found: invalids=('?'), value='e?g', reason=INVALID_CHARACTER, target-platform=Windows
filename/filepath sanitizer for argparse
------------------------------------------
:Sample Code:
.. code-block:: python
from argparse import ArgumentParser
from pathvalidate.argparse import sanitize_filename_arg, sanitize_filepath_arg
parser = ArgumentParser()
parser.add_argument("--filename", type=sanitize_filename_arg)
parser.add_argument("--filepath", type=sanitize_filepath_arg)
options = parser.parse_args()
if options.filename:
print("filename: {}".format(options.filename))
if options.filepath:
print("filepath: {}".format(options.filepath))
:Output:
.. code-block::
$ ./examples/argparse_sanitize.py --filename e/g
filename: eg
filename/filepath validator for click
---------------------------------------
:Sample Code:
.. code-block:: python
import click
from pathvalidate.click import filename, filepath
from pathvalidate.click import validate_filename_arg, validate_filepath_arg
@click.command()
@click.option("--filename", callback=filename)
@click.option("--filepath", callback=filepath)
@click.option("--filename", callback=validate_filename_arg)
@click.option("--filepath", callback=validate_filepath_arg)
def cli(filename, filepath):
click.echo(filename, filepath)
if filename:
click.echo("filename: {}".format(filename))
if filepath:
click.echo("filepath: {}".format(filepath))
if __name__ == "__main__":
Expand All @@ -165,11 +204,42 @@ filename/filepath validator for click
:Output:
.. code-block::
$ ./examples/click_validate.py --filename ab
filename: ab
$ ./examples/click_validate.py --filepath e?g
Usage: click_validate.py [OPTIONS]
Error: Invalid value for "--filepath": invalid char found: invalids=('?'), value='e?g', reason=INVALID_CHARACTER, target-platform=Windows
filename/filepath sanitizer for click
---------------------------------------
:Sample Code:
.. code-block:: python
import click
from pathvalidate.click import sanitize_filename_arg, sanitize_filepath_arg
@click.command()
@click.option("--filename", callback=sanitize_filename_arg)
@click.option("--filepath", callback=sanitize_filepath_arg)
def cli(filename, filepath):
if filename:
click.echo("filename: {}".format(filename))
if filepath:
click.echo("filepath: {}".format(filepath))
if __name__ == "__main__":
cli()
:Output:
.. code-block::
$ ./examples/click_sanitize.py --filename a/b
filename: ab
For more information
----------------------
More examples can be found at
Expand Down
10 changes: 8 additions & 2 deletions docs/make_readme.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,16 @@ def write_examples(maker: ReadmeMaker) -> None:
maker.write_file(example_root.joinpath("is_valid_filename_code.txt"))

maker.write_chapter("filename/filepath validator for argparse")
maker.write_file(example_root.joinpath("validator_argparse.txt"))
maker.write_file(example_root.joinpath("argparse_validator.txt"))

maker.write_chapter("filename/filepath sanitizer for argparse")
maker.write_file(example_root.joinpath("argparse_sanitizer.txt"))

maker.write_chapter("filename/filepath validator for click")
maker.write_file(example_root.joinpath("validator_click.txt"))
maker.write_file(example_root.joinpath("click_validator.txt"))

maker.write_chapter("filename/filepath sanitizer for click")
maker.write_file(example_root.joinpath("click_sanitizer.txt"))

maker.write_chapter("For more information")
maker.write_lines(
Expand Down

0 comments on commit 0e3a575

Please sign in to comment.