1# http://pyrocko.org - GPLv3
2#
3# The Pyrocko Developers, 21st Century
4# ---|P------/S----------~Lg----------
6from __future__ import absolute_import, print_function
8from .. import common
11def setup_subcommand(subparsers):
12 return common.add_parser(
13 subparsers, 'files',
14 help='Lookup files providing given content selection.')
17def setup(parser):
18 parser.add_argument(
19 '--relative',
20 action='store_true',
21 default=False,
22 help='Reveal path as it is stored in the database. This is relative '
23 'for files inside a Squirrel environment.')
25 common.add_selection_arguments(parser)
26 common.add_query_arguments(parser)
29def call(parser, args):
30 d = common.squirrel_query_from_arguments(args)
31 squirrel = common.squirrel_from_selection_arguments(args)
33 paths = set()
34 if d:
35 for nut in squirrel.iter_nuts(**d):
36 paths.add(nut.file_path)
38 db = squirrel.get_database()
39 for path in sorted(paths):
40 print(db.relpath(path) if args.relative else path)
42 else:
43 for path in squirrel.iter_paths(raw=args.relative):
44 print(path)