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

############################################################################
# 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())