diff options
| author | Marc Abramowitz <marc@marc-abramowitz.com> | 2014-12-23 14:58:13 -0800 |
|---|---|---|
| committer | Marc Abramowitz <marc@marc-abramowitz.com> | 2014-12-23 14:58:13 -0800 |
| commit | 1264707de3f9fa2d15943da3bf321b1304556aa3 (patch) | |
| tree | 920af15f43512b7254be54bce16f6970f86fe736 | |
| parent | 228a5e5b3806c07c4d568ec491c4f83be5facbb1 (diff) | |
| download | pyramid-1264707de3f9fa2d15943da3bf321b1304556aa3.tar.gz pyramid-1264707de3f9fa2d15943da3bf321b1304556aa3.tar.bz2 pyramid-1264707de3f9fa2d15943da3bf321b1304556aa3.zip | |
Add a --glob option to limit output
E.g.:
$ proutes development.ini --glob='user*'
Name Pattern View Method
---- ------- ---- ------
user /profilesvc/v1/user/{user_id} pyramid.config.views.<pyramid.config.views.MultiView object at 0x106f72bd0> *
user /profilesvc/v1/user/{user_id} cornice.service.wrapper GET,HEAD
| -rw-r--r-- | pyramid/scripts/proutes.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/pyramid/scripts/proutes.py b/pyramid/scripts/proutes.py index 5d860b47d..fce90c0c1 100644 --- a/pyramid/scripts/proutes.py +++ b/pyramid/scripts/proutes.py @@ -1,3 +1,4 @@ +import fnmatch import optparse import sys import textwrap @@ -234,6 +235,9 @@ class PRoutesCommand(object): usage, description=textwrap.dedent(description) ) + parser.add_option('-g', '--glob', + action='store', type='string', dest='glob', + default='', help='Display routes matching glob pattern') def __init__(self, argv, quiet=False): self.options, self.args = self.parser.parse_args(argv[1:]) @@ -280,6 +284,12 @@ class PRoutesCommand(object): route_data = get_route_data(route, registry) for name, pattern, view, method in route_data: + if self.options.glob: + match = (fnmatch.fnmatch(name, self.options.glob) or + fnmatch.fnmatch(pattern, self.options.glob)) + if not match: + continue + if len(name) > max_name: max_name = len(name) |
