1# http://pyrocko.org - GPLv3
2#
3# The Pyrocko Developers, 21st Century
4# ---|P------/S----------~Lg----------
6from __future__ import absolute_import, print_function
8import logging
10from .. import common
11# from pyrocko.squirrel.error import SquirrelError
12from pyrocko.squirrel import model
14logger = logging.getLogger('psq.cli.update')
17def setup(subparsers):
18 p = common.add_parser(
19 subparsers, 'update',
20 help='Update remote sources inventories.')
22 common.add_selection_arguments(p)
23 common.add_query_arguments(p)
25 p.add_argument(
26 '--promises',
27 action='store_true',
28 dest='promises',
29 default=False,
30 help='Update waveform promises.')
32 p.add_argument(
33 '--responses',
34 action='store_true',
35 dest='responses',
36 default=False,
37 help='Update responses.')
39 return p
42def call(parser, args):
43 d = common.squirrel_query_from_arguments(args)
44 squirrel = common.squirrel_from_selection_arguments(args)
46 tmin = d.get('tmin', model.g_tmin)
47 tmax = d.get('tmax', model.g_tmax)
49 squirrel.update(tmin=tmin, tmax=tmax)
50 if args.promises:
51 squirrel.update_waveform_promises()
53 if args.responses:
54 squirrel.update_responses()
56 stats = str(squirrel)
57 stats = '\n'.join(' ' + s for s in stats.splitlines())
59 logger.info('Squirrel stats:\n%s' % stats)