[seiscomp, scanloc] Install, add .gitignore
This commit is contained in:
79
bin/sceplog
Executable file
79
bin/sceplog
Executable file
@ -0,0 +1,79 @@
|
||||
#!/usr/bin/env seiscomp-python
|
||||
# -*- coding: utf-8 -*-
|
||||
############################################################################
|
||||
# Copyright (C) GFZ Potsdam #
|
||||
# All rights reserved. #
|
||||
# #
|
||||
# GNU Affero General Public License Usage #
|
||||
# This file may be used under the terms of the GNU Affero #
|
||||
# Public License version 3.0 as published by the Free Software Foundation #
|
||||
# and appearing in the file LICENSE included in the packaging of this #
|
||||
# file. Please review the following information to ensure the GNU Affero #
|
||||
# Public License version 3.0 requirements will be met: #
|
||||
# https://www.gnu.org/licenses/agpl-3.0.html. #
|
||||
############################################################################
|
||||
|
||||
import sys
|
||||
import os
|
||||
import seiscomp.client
|
||||
import seiscomp.datamodel
|
||||
import seiscomp.io
|
||||
|
||||
|
||||
class EventParameterLog(seiscomp.client.Application):
|
||||
def __init__(self, argc, argv):
|
||||
seiscomp.client.Application.__init__(self, argc, argv)
|
||||
|
||||
self.setMessagingEnabled(True)
|
||||
self.setDatabaseEnabled(False, False)
|
||||
self.setMessagingUsername("")
|
||||
self.setPrimaryMessagingGroup(seiscomp.client.Protocol.LISTENER_GROUP)
|
||||
self.addMessagingSubscription("EVENT")
|
||||
self.addMessagingSubscription("LOCATION")
|
||||
self.addMessagingSubscription("MAGNITUDE")
|
||||
self.addMessagingSubscription("AMPLITUDE")
|
||||
self.addMessagingSubscription("PICK")
|
||||
|
||||
self.setAutoApplyNotifierEnabled(True)
|
||||
self.setInterpretNotifierEnabled(True)
|
||||
|
||||
# EventParameter object
|
||||
self._eventParameters = seiscomp.datamodel.EventParameters()
|
||||
|
||||
def printUsage(self):
|
||||
|
||||
print(
|
||||
"""Usage:
|
||||
sceplog [options]
|
||||
|
||||
Receive event parameters from messaging and write them to stdout in SCML"""
|
||||
)
|
||||
|
||||
seiscomp.client.Application.printUsage(self)
|
||||
|
||||
print(
|
||||
"""Examples:
|
||||
Execute sceplog with debug output
|
||||
sceplog --debug
|
||||
"""
|
||||
)
|
||||
|
||||
def run(self):
|
||||
if not seiscomp.client.Application.run(self):
|
||||
return False
|
||||
|
||||
ar = seiscomp.io.XMLArchive()
|
||||
ar.setFormattedOutput(True)
|
||||
if ar.create("-"):
|
||||
ar.writeObject(self._eventParameters)
|
||||
ar.close()
|
||||
# Hack to avoid the "close failed in file object destructor"
|
||||
# exception
|
||||
# print ""
|
||||
sys.stdout.write("\n")
|
||||
|
||||
return True
|
||||
|
||||
|
||||
app = EventParameterLog(len(sys.argv), sys.argv)
|
||||
sys.exit(app())
|
Reference in New Issue
Block a user