1# http://pyrocko.org - GPLv3 

2# 

3# The Pyrocko Developers, 21st Century 

4# ---|P------/S----------~Lg---------- 

5 

6from pyrocko.squirrel.tool.common import ldq, dq 

7 

8headline = 'Export station metadata as StationXML.' 

9 

10 

11def make_subparser(subparsers): 

12 return subparsers.add_parser( 

13 'stationxml', 

14 help=headline, 

15 description=headline) 

16 

17 

18def setup(parser): 

19 parser.add_squirrel_selection_arguments() 

20 parser.add_squirrel_query_arguments() 

21 

22 level_choices = ('network', 'station', 'channel', 'response') 

23 level_default = 'response' 

24 

25 parser.add_argument( 

26 '--level', 

27 dest='level', 

28 choices=level_choices, 

29 default=level_default, 

30 help='Set level of detail to be returned. Choices: %s. ' 

31 'Default: %s.' % ( 

32 ldq(level_choices), 

33 dq(level_default))) 

34 

35 out_format_choices = ('xml', 'yaml') 

36 out_format_default = 'xml' 

37 

38 parser.add_argument( 

39 '--out-format', 

40 dest='out_format', 

41 choices=out_format_choices, 

42 default=out_format_default, 

43 help='Set format of output. Choices: %s. ' 

44 'Default: %s.' % ( 

45 ldq(out_format_choices), 

46 dq(out_format_default))) 

47 

48 

49def run(parser, args): 

50 squirrel = args.make_squirrel() 

51 

52 sx = squirrel.get_stationxml(**args.squirrel_query, level=args.level) 

53 if args.out_format == 'xml': 

54 print(sx.dump_xml()) 

55 elif args.out_format == 'yaml': 

56 print(sx.dump()) 

57 else: 

58 assert False