You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
3.1 KiB
Python
115 lines
3.1 KiB
Python
4 years ago
|
############################################################################
|
||
|
# Copyright (C) 2021 gempa GmbH #
|
||
|
# #
|
||
|
# All Rights Reserved. #
|
||
|
# #
|
||
|
# NOTICE: All information contained herein is, and remains #
|
||
|
# the property of gempa GmbH and its suppliers, if any. The intellectual #
|
||
|
# and technical concepts contained herein are proprietary to gempa GmbH #
|
||
|
# and its suppliers. #
|
||
|
# Dissemination of this information or reproduction of this material #
|
||
|
# is strictly forbidden unless prior written permission is obtained #
|
||
|
# from gempa GmbH. #
|
||
|
############################################################################
|
||
|
|
||
|
#!/usr/bin/env python
|
||
|
|
||
|
from __future__ import absolute_import, division, print_function
|
||
|
|
||
|
import getopt
|
||
|
import sys
|
||
|
import signal
|
||
|
|
||
|
import numpy as np
|
||
|
|
||
|
from gempa import CAPS
|
||
|
|
||
|
|
||
|
usage_info = """
|
||
|
raw2caps - pushes raw samples into CAPS.
|
||
|
|
||
|
Usage: capstool [options]
|
||
|
|
||
|
Options:
|
||
|
-H, --host host to connect to
|
||
|
-h, --help display this help message and exit
|
||
|
"""
|
||
|
|
||
|
|
||
|
def usage(exitcode=0):
|
||
|
sys.stderr.write(usage_info)
|
||
|
return exitcode
|
||
|
|
||
|
|
||
|
output = CAPS.Plugin("raw2caps")
|
||
|
|
||
|
def signal_handler(sig, frame): #pylint: disable=W0613
|
||
|
print('Caught Ctrl+C!')
|
||
|
output.quit()
|
||
|
sys.exit(0)
|
||
|
|
||
|
|
||
|
def main():
|
||
|
try:
|
||
|
opts, _ = getopt.getopt(sys.argv[1:], "hH:d:n:",
|
||
|
["help", "host=", "directory=", "network="])
|
||
|
except getopt.GetoptError as err:
|
||
|
# print help information and exit:
|
||
|
print(str(err)) # will print something like "option -a not recognized"
|
||
|
return usage(2)
|
||
|
|
||
|
addr = None
|
||
|
|
||
|
signal.signal(signal.SIGINT, signal_handler)
|
||
|
|
||
|
for o, a in opts:
|
||
|
if o in ["-h", "--help"]:
|
||
|
return usage()
|
||
|
|
||
|
if o in ["-H", "--host"]:
|
||
|
addr = a
|
||
|
else:
|
||
|
assert False, "unhandled option"
|
||
|
|
||
|
if addr:
|
||
|
try:
|
||
|
host, port = addr.split(":")
|
||
|
except BaseException:
|
||
|
sys.stderr.write("invalid host address given: %s\n" % addr)
|
||
|
return 1
|
||
|
else:
|
||
|
host = None
|
||
|
port = None
|
||
|
|
||
|
if port:
|
||
|
try:
|
||
|
port = int(port)
|
||
|
except BaseException:
|
||
|
sys.stderr.write("invalid port given: %s\n" % port)
|
||
|
return 1
|
||
|
else:
|
||
|
port = 18003
|
||
|
|
||
|
if not host:
|
||
|
host = "localhost"
|
||
|
|
||
|
output.setHost(host)
|
||
|
output.setPort(port)
|
||
|
output.setBufferSize(1 << 30)
|
||
|
output.enableLogging()
|
||
|
|
||
|
startTime = CAPS.Time.GMT()
|
||
|
|
||
|
x = np.array([1, 2], dtype=np.int32)
|
||
|
res = output.push("AB", "HMA", "", "BHZ", startTime, 1, 1, "m", x,
|
||
|
CAPS.DT_INT32)
|
||
|
if res != CAPS.Plugin.Success:
|
||
|
sys.stderr.write("failed to send packet\n")
|
||
|
|
||
|
output.close()
|
||
|
return 0
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
sys.exit(main())
|