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.
6268 lines
212 KiB
Python
6268 lines
212 KiB
Python
# This file was created by a source code generator:
|
|
# genxml2wrap.py
|
|
# Do not modify. Change the definition and
|
|
# run the generator again!
|
|
#
|
|
# (c) 2010 Mathias Hoffmann, GFZ Potsdam
|
|
#
|
|
#
|
|
|
|
from __future__ import (absolute_import, division, print_function)
|
|
|
|
try:
|
|
unicode()
|
|
py2str = lambda s: s.encode("utf-8")
|
|
py2unicode = lambda s: s.decode("utf-8", "replace")
|
|
|
|
except NameError:
|
|
py2str = str
|
|
py2unicode = str
|
|
|
|
import re
|
|
import time
|
|
import datetime
|
|
import seiscomp.logs
|
|
import seiscomp.datamodel, seiscomp.core
|
|
|
|
#(de)serialize real array string
|
|
def str2RealArray(arg):
|
|
RA = seiscomp.datamodel.RealArray()
|
|
if not arg:
|
|
return RA
|
|
sarg = arg.split()
|
|
for s in sarg:
|
|
if len(s):
|
|
RA.content().push_back(float(s))
|
|
return RA
|
|
def RealArray2str(arg):
|
|
tmp = str()
|
|
for r in arg:
|
|
tmp += str(r)+' '
|
|
return tmp.strip()
|
|
|
|
#de-serialize complex array string
|
|
def str2ComplexArray(arg):
|
|
CA = seiscomp.datamodel.ComplexArray()
|
|
if not arg:
|
|
return CA
|
|
sarg = re.findall(r'\((.+?)\)', arg)
|
|
for s in sarg:
|
|
r,i = s.split(',')
|
|
if len(r) and len(i):
|
|
CA.content().push_back(complex(float(r), float(i)))
|
|
return CA
|
|
def ComplexArray2str(arg):
|
|
tmp = str()
|
|
for c in arg:
|
|
tmp += '('+str(c.real)+','+str(c.imag)+') '
|
|
return tmp.strip()
|
|
#
|
|
#
|
|
|
|
|
|
# package: Inventory
|
|
class base_comment(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_text(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.text())
|
|
except ValueError:
|
|
return None
|
|
def __set_text(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_text() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setText(value)
|
|
text = property(__get_text, __set_text)
|
|
|
|
def __get_id(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.id())
|
|
except ValueError:
|
|
return None
|
|
def __set_id(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_id() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setId(value)
|
|
id = property(__get_id, __set_id)
|
|
|
|
def __get_start(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
def __get_creationInfo(self):
|
|
# optional Attribute
|
|
try: # @return: CreationInfo
|
|
return self.obj.creationInfo()
|
|
except ValueError:
|
|
return None
|
|
def __set_creationInfo(self, arg):
|
|
if self.__get_creationInfo() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setCreationInfo(arg)
|
|
creationInfo = property(__get_creationInfo, __set_creationInfo)
|
|
|
|
|
|
# package: QualityControl
|
|
class base_qclog(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_networkCode(self):
|
|
try:
|
|
return self.obj.waveformID().networkCode()
|
|
except ValueError:
|
|
return None
|
|
def __get_stationCode(self):
|
|
try:
|
|
return self.obj.waveformID().stationCode()
|
|
except ValueError:
|
|
return None
|
|
def __get_streamCode(self):
|
|
try:
|
|
return self.obj.waveformID().channelCode()
|
|
except ValueError:
|
|
return None
|
|
def __get_locationCode(self):
|
|
try:
|
|
return self.obj.waveformID().locationCode()
|
|
except ValueError:
|
|
return None
|
|
def __set_networkCode(self, arg):
|
|
if self.__get_networkCode() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.waveformID().setNetworkCode(arg)
|
|
def __set_stationCode(self, arg):
|
|
if self.__get_stationCode() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.waveformID().setStationCode(arg)
|
|
def __set_streamCode(self, arg):
|
|
if self.__get_streamCode() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.waveformID().setChannelCode(arg)
|
|
def __set_locationCode(self, arg):
|
|
if self.__get_locationCode() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.waveformID().setLocationCode(arg)
|
|
networkCode = property(__get_networkCode, __set_networkCode)
|
|
stationCode = property(__get_stationCode, __set_stationCode)
|
|
streamCode = property(__get_streamCode, __set_streamCode)
|
|
locationCode = property(__get_locationCode, __set_locationCode)
|
|
|
|
def __get_creatorID(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.creatorID())
|
|
except ValueError:
|
|
return None
|
|
def __set_creatorID(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_creatorID() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setCreatorID(value)
|
|
creatorID = property(__get_creatorID, __set_creatorID)
|
|
|
|
def __get_created(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.created().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_created(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_created()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setCreated(value)
|
|
created = property(__get_created, __set_created)
|
|
|
|
def __get_start(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
def __get_message(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.message())
|
|
except ValueError:
|
|
return None
|
|
def __set_message(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_message() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setMessage(value)
|
|
message = property(__get_message, __set_message)
|
|
|
|
|
|
# package: QualityControl
|
|
class base_waveformquality(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_networkCode(self):
|
|
try:
|
|
return self.obj.waveformID().networkCode()
|
|
except ValueError:
|
|
return None
|
|
def __get_stationCode(self):
|
|
try:
|
|
return self.obj.waveformID().stationCode()
|
|
except ValueError:
|
|
return None
|
|
def __get_streamCode(self):
|
|
try:
|
|
return self.obj.waveformID().channelCode()
|
|
except ValueError:
|
|
return None
|
|
def __get_locationCode(self):
|
|
try:
|
|
return self.obj.waveformID().locationCode()
|
|
except ValueError:
|
|
return None
|
|
def __set_networkCode(self, arg):
|
|
if self.__get_networkCode() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.waveformID().setNetworkCode(arg)
|
|
def __set_stationCode(self, arg):
|
|
if self.__get_stationCode() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.waveformID().setStationCode(arg)
|
|
def __set_streamCode(self, arg):
|
|
if self.__get_streamCode() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.waveformID().setChannelCode(arg)
|
|
def __set_locationCode(self, arg):
|
|
if self.__get_locationCode() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.waveformID().setLocationCode(arg)
|
|
networkCode = property(__get_networkCode, __set_networkCode)
|
|
stationCode = property(__get_stationCode, __set_stationCode)
|
|
streamCode = property(__get_streamCode, __set_streamCode)
|
|
locationCode = property(__get_locationCode, __set_locationCode)
|
|
|
|
def __get_creatorID(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.creatorID())
|
|
except ValueError:
|
|
return None
|
|
def __set_creatorID(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_creatorID() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setCreatorID(value)
|
|
creatorID = property(__get_creatorID, __set_creatorID)
|
|
|
|
def __get_created(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.created().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_created(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_created()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setCreated(value)
|
|
created = property(__get_created, __set_created)
|
|
|
|
def __get_start(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
def __get_type(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.type())
|
|
except ValueError:
|
|
return None
|
|
def __set_type(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_type() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setType(value)
|
|
type = property(__get_type, __set_type)
|
|
|
|
def __get_parameter(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.parameter())
|
|
except ValueError:
|
|
return None
|
|
def __set_parameter(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_parameter() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setParameter(value)
|
|
parameter = property(__get_parameter, __set_parameter)
|
|
|
|
def __get_value(self):
|
|
try: # @return: double
|
|
return self.obj.value()
|
|
except ValueError:
|
|
return None
|
|
def __set_value(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_value() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setValue(value)
|
|
value = property(__get_value, __set_value)
|
|
|
|
def __get_lowerUncertainty(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.lowerUncertainty()
|
|
except ValueError:
|
|
return None
|
|
def __set_lowerUncertainty(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_lowerUncertainty() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setLowerUncertainty(value)
|
|
lowerUncertainty = property(__get_lowerUncertainty, __set_lowerUncertainty)
|
|
|
|
def __get_upperUncertainty(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.upperUncertainty()
|
|
except ValueError:
|
|
return None
|
|
def __set_upperUncertainty(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_upperUncertainty() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setUpperUncertainty(value)
|
|
upperUncertainty = property(__get_upperUncertainty, __set_upperUncertainty)
|
|
|
|
def __get_windowLength(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.windowLength()
|
|
except ValueError:
|
|
return None
|
|
def __set_windowLength(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_windowLength() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setWindowLength(value)
|
|
windowLength = property(__get_windowLength, __set_windowLength)
|
|
|
|
|
|
# package: QualityControl
|
|
class base_outage(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_networkCode(self):
|
|
try:
|
|
return self.obj.waveformID().networkCode()
|
|
except ValueError:
|
|
return None
|
|
def __get_stationCode(self):
|
|
try:
|
|
return self.obj.waveformID().stationCode()
|
|
except ValueError:
|
|
return None
|
|
def __get_streamCode(self):
|
|
try:
|
|
return self.obj.waveformID().channelCode()
|
|
except ValueError:
|
|
return None
|
|
def __get_locationCode(self):
|
|
try:
|
|
return self.obj.waveformID().locationCode()
|
|
except ValueError:
|
|
return None
|
|
def __set_networkCode(self, arg):
|
|
if self.__get_networkCode() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.waveformID().setNetworkCode(arg)
|
|
def __set_stationCode(self, arg):
|
|
if self.__get_stationCode() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.waveformID().setStationCode(arg)
|
|
def __set_streamCode(self, arg):
|
|
if self.__get_streamCode() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.waveformID().setChannelCode(arg)
|
|
def __set_locationCode(self, arg):
|
|
if self.__get_locationCode() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.waveformID().setLocationCode(arg)
|
|
networkCode = property(__get_networkCode, __set_networkCode)
|
|
stationCode = property(__get_stationCode, __set_stationCode)
|
|
streamCode = property(__get_streamCode, __set_streamCode)
|
|
locationCode = property(__get_locationCode, __set_locationCode)
|
|
|
|
def __get_creatorID(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.creatorID())
|
|
except ValueError:
|
|
return None
|
|
def __set_creatorID(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_creatorID() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setCreatorID(value)
|
|
creatorID = property(__get_creatorID, __set_creatorID)
|
|
|
|
def __get_created(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.created().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_created(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_created()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setCreated(value)
|
|
created = property(__get_created, __set_created)
|
|
|
|
def __get_start(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
|
|
# package: QualityControl
|
|
class base_qualitycontrol(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def _new_qclog(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.QCLog.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.QCLog.Create(publicID)
|
|
else: obj = seiscomp.datamodel.QCLog.Create()
|
|
try: obj.setWaveformID(args["waveformID"])
|
|
except KeyError: pass
|
|
try: obj.setCreatorID(args["creatorID"])
|
|
except KeyError: pass
|
|
try:
|
|
if args["created"] is None:
|
|
obj.setCreated(None)
|
|
else:
|
|
obj.setCreated(seiscomp.core.Time.FromString(str(args["created"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setMessage(args["message"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.QualityControl: error adding QCLog")
|
|
return obj
|
|
def __get_qclog(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.qCLogCount()):
|
|
for i in range(self.obj.qCLogCount()):
|
|
obj = self.obj.qCLog(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_qclog(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.QCLog.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.QCLog.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_qclog(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_qCLog = property(__get_qclog)
|
|
|
|
def _new_waveformquality(self, **args):
|
|
try: obj = seiscomp.datamodel.WaveformQuality()
|
|
except KeyError: pass
|
|
try: obj.setWaveformID(args["waveformID"])
|
|
except KeyError: pass
|
|
try: obj.setCreatorID(args["creatorID"])
|
|
except KeyError: pass
|
|
try:
|
|
if args["created"] is None:
|
|
obj.setCreated(None)
|
|
else:
|
|
obj.setCreated(seiscomp.core.Time.FromString(str(args["created"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setType(args["type"])
|
|
except KeyError: pass
|
|
try: obj.setParameter(args["parameter"])
|
|
except KeyError: pass
|
|
try: obj.setValue(args["value"])
|
|
except KeyError: pass
|
|
try: obj.setLowerUncertainty(args["lowerUncertainty"])
|
|
except KeyError: pass
|
|
try: obj.setUpperUncertainty(args["upperUncertainty"])
|
|
except KeyError: pass
|
|
try: obj.setWindowLength(args["windowLength"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.QualityControl: error adding WaveformQuality")
|
|
return obj
|
|
def __get_waveformquality(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.waveformQualityCount()):
|
|
for i in range(self.obj.waveformQualityCount()):
|
|
obj = self.obj.waveformQuality(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_waveformquality(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.waveformQualityCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.waveformQuality(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_waveformquality(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_waveformquality(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_waveformquality(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_waveformQuality = property(__get_waveformquality)
|
|
|
|
def _new_outage(self, **args):
|
|
try: obj = seiscomp.datamodel.Outage()
|
|
except KeyError: pass
|
|
try: obj.setWaveformID(args["waveformID"])
|
|
except KeyError: pass
|
|
try: obj.setCreatorID(args["creatorID"])
|
|
except KeyError: pass
|
|
try:
|
|
if args["created"] is None:
|
|
obj.setCreated(None)
|
|
else:
|
|
obj.setCreated(seiscomp.core.Time.FromString(str(args["created"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.QualityControl: error adding Outage")
|
|
return obj
|
|
def __get_outage(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.outageCount()):
|
|
for i in range(self.obj.outageCount()):
|
|
obj = self.obj.outage(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_outage(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.outageCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.outage(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_outage(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_outage(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_outage(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_outage = property(__get_outage)
|
|
|
|
|
|
# package: Inventory
|
|
class base_stationreference(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_stationID(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.stationID())
|
|
except ValueError:
|
|
return None
|
|
def __set_stationID(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_stationID() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setStationID(value)
|
|
stationID = property(__get_stationID, __set_stationID)
|
|
|
|
|
|
# package: Inventory
|
|
class base_stationgroup(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_type(self):
|
|
# optional Attribute
|
|
try: # @return: StationGroupType
|
|
return self.obj.type()
|
|
except ValueError:
|
|
return None
|
|
def __set_type(self, arg):
|
|
if self.__get_type() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setType(arg)
|
|
type = property(__get_type, __set_type)
|
|
|
|
def __get_code(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.code())
|
|
except ValueError:
|
|
return None
|
|
def __set_code(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_code() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setCode(value)
|
|
code = property(__get_code, __set_code)
|
|
|
|
def __get_start(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
def __get_description(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.description())
|
|
except ValueError:
|
|
return None
|
|
def __set_description(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_description() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDescription(value)
|
|
description = property(__get_description, __set_description)
|
|
|
|
def __get_latitude(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.latitude()
|
|
except ValueError:
|
|
return None
|
|
def __set_latitude(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_latitude() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setLatitude(value)
|
|
latitude = property(__get_latitude, __set_latitude)
|
|
|
|
def __get_longitude(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.longitude()
|
|
except ValueError:
|
|
return None
|
|
def __set_longitude(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_longitude() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setLongitude(value)
|
|
longitude = property(__get_longitude, __set_longitude)
|
|
|
|
def __get_elevation(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.elevation()
|
|
except ValueError:
|
|
return None
|
|
def __set_elevation(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_elevation() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setElevation(value)
|
|
elevation = property(__get_elevation, __set_elevation)
|
|
|
|
|
|
def _new_stationreference(self, **args):
|
|
try: obj = seiscomp.datamodel.StationReference()
|
|
except KeyError: pass
|
|
try: obj.setStationID(args["stationID"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.StationGroup: error adding StationReference")
|
|
return obj
|
|
def __get_stationreference(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.stationReferenceCount()):
|
|
for i in range(self.obj.stationReferenceCount()):
|
|
obj = self.obj.stationReference(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_stationreference(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.stationReferenceCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.stationReference(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_stationreference(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_stationreference(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_stationreference(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_stationReference = property(__get_stationreference)
|
|
|
|
|
|
# package: Inventory
|
|
class base_auxsource(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_name(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.name())
|
|
except ValueError:
|
|
return None
|
|
def __set_name(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_name() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setName(value)
|
|
name = property(__get_name, __set_name)
|
|
|
|
def __get_description(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.description())
|
|
except ValueError:
|
|
return None
|
|
def __set_description(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_description() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDescription(value)
|
|
description = property(__get_description, __set_description)
|
|
|
|
def __get_unit(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.unit())
|
|
except ValueError:
|
|
return None
|
|
def __set_unit(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_unit() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setUnit(value)
|
|
unit = property(__get_unit, __set_unit)
|
|
|
|
def __get_conversion(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.conversion())
|
|
except ValueError:
|
|
return None
|
|
def __set_conversion(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_conversion() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setConversion(value)
|
|
conversion = property(__get_conversion, __set_conversion)
|
|
|
|
def __get_sampleRateNumerator(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.sampleRateNumerator()
|
|
except ValueError:
|
|
return None
|
|
def __set_sampleRateNumerator(self, arg):
|
|
if self.__get_sampleRateNumerator() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setSampleRateNumerator(arg)
|
|
sampleRateNumerator = property(__get_sampleRateNumerator, __set_sampleRateNumerator)
|
|
|
|
def __get_sampleRateDenominator(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.sampleRateDenominator()
|
|
except ValueError:
|
|
return None
|
|
def __set_sampleRateDenominator(self, arg):
|
|
if self.__get_sampleRateDenominator() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setSampleRateDenominator(arg)
|
|
sampleRateDenominator = property(__get_sampleRateDenominator, __set_sampleRateDenominator)
|
|
|
|
def __get_remark(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.remark()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_remark(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_remark() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRemark(blob)
|
|
remark = property(__get_remark, __set_remark)
|
|
|
|
|
|
# package: Inventory
|
|
class base_auxdevice(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_name(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.name())
|
|
except ValueError:
|
|
return None
|
|
def __set_name(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_name() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setName(value)
|
|
name = property(__get_name, __set_name)
|
|
|
|
def __get_description(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.description())
|
|
except ValueError:
|
|
return None
|
|
def __set_description(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_description() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDescription(value)
|
|
description = property(__get_description, __set_description)
|
|
|
|
def __get_model(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.model())
|
|
except ValueError:
|
|
return None
|
|
def __set_model(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_model() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setModel(value)
|
|
model = property(__get_model, __set_model)
|
|
|
|
def __get_manufacturer(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.manufacturer())
|
|
except ValueError:
|
|
return None
|
|
def __set_manufacturer(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_manufacturer() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setManufacturer(value)
|
|
manufacturer = property(__get_manufacturer, __set_manufacturer)
|
|
|
|
def __get_remark(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.remark()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_remark(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_remark() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRemark(blob)
|
|
remark = property(__get_remark, __set_remark)
|
|
|
|
|
|
def _new_auxsource(self, **args):
|
|
try: obj = seiscomp.datamodel.AuxSource()
|
|
except KeyError: pass
|
|
try: obj.setName(args["name"])
|
|
except KeyError: pass
|
|
try: obj.setDescription(args["description"])
|
|
except KeyError: pass
|
|
try: obj.setUnit(args["unit"])
|
|
except KeyError: pass
|
|
try: obj.setConversion(args["conversion"])
|
|
except KeyError: pass
|
|
try: obj.setSampleRateNumerator(args["sampleRateNumerator"])
|
|
except KeyError: pass
|
|
try: obj.setSampleRateDenominator(args["sampleRateDenominator"])
|
|
except KeyError: pass
|
|
try: obj.setRemark(args["remark"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.AuxDevice: error adding AuxSource")
|
|
return obj
|
|
def __get_auxsource(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.auxSourceCount()):
|
|
for i in range(self.obj.auxSourceCount()):
|
|
obj = self.obj.auxSource(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_auxsource(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.auxSourceCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.auxSource(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_auxsource(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_auxsource(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_auxsource(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_auxSource = property(__get_auxsource)
|
|
|
|
|
|
# package: Inventory
|
|
class base_sensorcalibration(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_serialNumber(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.serialNumber())
|
|
except ValueError:
|
|
return None
|
|
def __set_serialNumber(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_serialNumber() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setSerialNumber(value)
|
|
serialNumber = property(__get_serialNumber, __set_serialNumber)
|
|
|
|
def __get_channel(self):
|
|
try: # @return: int
|
|
return self.obj.channel()
|
|
except ValueError:
|
|
return None
|
|
def __set_channel(self, arg):
|
|
if self.__get_channel() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setChannel(arg)
|
|
channel = property(__get_channel, __set_channel)
|
|
|
|
def __get_start(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
def __get_gain(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gain()
|
|
except ValueError:
|
|
return None
|
|
def __set_gain(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gain() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGain(value)
|
|
gain = property(__get_gain, __set_gain)
|
|
|
|
def __get_gainFrequency(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gainFrequency()
|
|
except ValueError:
|
|
return None
|
|
def __set_gainFrequency(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gainFrequency() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGainFrequency(value)
|
|
gainFrequency = property(__get_gainFrequency, __set_gainFrequency)
|
|
|
|
def __get_remark(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.remark()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_remark(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_remark() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRemark(blob)
|
|
remark = property(__get_remark, __set_remark)
|
|
|
|
|
|
# package: Inventory
|
|
class base_sensor(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_name(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.name())
|
|
except ValueError:
|
|
return None
|
|
def __set_name(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_name() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setName(value)
|
|
name = property(__get_name, __set_name)
|
|
|
|
def __get_description(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.description())
|
|
except ValueError:
|
|
return None
|
|
def __set_description(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_description() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDescription(value)
|
|
description = property(__get_description, __set_description)
|
|
|
|
def __get_model(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.model())
|
|
except ValueError:
|
|
return None
|
|
def __set_model(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_model() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setModel(value)
|
|
model = property(__get_model, __set_model)
|
|
|
|
def __get_manufacturer(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.manufacturer())
|
|
except ValueError:
|
|
return None
|
|
def __set_manufacturer(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_manufacturer() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setManufacturer(value)
|
|
manufacturer = property(__get_manufacturer, __set_manufacturer)
|
|
|
|
def __get_type(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.type())
|
|
except ValueError:
|
|
return None
|
|
def __set_type(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_type() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setType(value)
|
|
type = property(__get_type, __set_type)
|
|
|
|
def __get_unit(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.unit())
|
|
except ValueError:
|
|
return None
|
|
def __set_unit(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_unit() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setUnit(value)
|
|
unit = property(__get_unit, __set_unit)
|
|
|
|
def __get_lowFrequency(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.lowFrequency()
|
|
except ValueError:
|
|
return None
|
|
def __set_lowFrequency(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_lowFrequency() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setLowFrequency(value)
|
|
lowFrequency = property(__get_lowFrequency, __set_lowFrequency)
|
|
|
|
def __get_highFrequency(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.highFrequency()
|
|
except ValueError:
|
|
return None
|
|
def __set_highFrequency(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_highFrequency() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setHighFrequency(value)
|
|
highFrequency = property(__get_highFrequency, __set_highFrequency)
|
|
|
|
def __get_response(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.response())
|
|
except ValueError:
|
|
return None
|
|
def __set_response(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_response() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setResponse(value)
|
|
response = property(__get_response, __set_response)
|
|
|
|
def __get_remark(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.remark()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_remark(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_remark() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRemark(blob)
|
|
remark = property(__get_remark, __set_remark)
|
|
|
|
|
|
def _new_sensorcalibration(self, **args):
|
|
try: obj = seiscomp.datamodel.SensorCalibration()
|
|
except KeyError: pass
|
|
try: obj.setSerialNumber(args["serialNumber"])
|
|
except KeyError: pass
|
|
try: obj.setChannel(args["channel"])
|
|
except KeyError: pass
|
|
try: obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setGain(args["gain"])
|
|
except KeyError: pass
|
|
try: obj.setGainFrequency(args["gainFrequency"])
|
|
except KeyError: pass
|
|
try: obj.setRemark(args["remark"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Sensor: error adding SensorCalibration")
|
|
return obj
|
|
def __get_sensorcalibration(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.sensorCalibrationCount()):
|
|
for i in range(self.obj.sensorCalibrationCount()):
|
|
obj = self.obj.sensorCalibration(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_sensorcalibration(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.sensorCalibrationCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.sensorCalibration(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_sensorcalibration(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_sensorcalibration(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_sensorcalibration(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_sensorCalibration = property(__get_sensorcalibration)
|
|
|
|
|
|
# package: Inventory
|
|
class base_responsepaz(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_name(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.name())
|
|
except ValueError:
|
|
return None
|
|
def __set_name(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_name() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setName(value)
|
|
name = property(__get_name, __set_name)
|
|
|
|
def __get_type(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.type())
|
|
except ValueError:
|
|
return None
|
|
def __set_type(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_type() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setType(value)
|
|
type = property(__get_type, __set_type)
|
|
|
|
def __get_gain(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gain()
|
|
except ValueError:
|
|
return None
|
|
def __set_gain(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gain() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGain(value)
|
|
gain = property(__get_gain, __set_gain)
|
|
|
|
def __get_gainFrequency(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gainFrequency()
|
|
except ValueError:
|
|
return None
|
|
def __set_gainFrequency(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gainFrequency() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGainFrequency(value)
|
|
gainFrequency = property(__get_gainFrequency, __set_gainFrequency)
|
|
|
|
def __get_normalizationFactor(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.normalizationFactor()
|
|
except ValueError:
|
|
return None
|
|
def __set_normalizationFactor(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_normalizationFactor() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setNormalizationFactor(value)
|
|
normalizationFactor = property(__get_normalizationFactor, __set_normalizationFactor)
|
|
|
|
def __get_normalizationFrequency(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.normalizationFrequency()
|
|
except ValueError:
|
|
return None
|
|
def __set_normalizationFrequency(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_normalizationFrequency() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setNormalizationFrequency(value)
|
|
normalizationFrequency = property(__get_normalizationFrequency, __set_normalizationFrequency)
|
|
|
|
def __get_numberOfZeros(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.numberOfZeros()
|
|
except ValueError:
|
|
return None
|
|
def __set_numberOfZeros(self, arg):
|
|
if self.__get_numberOfZeros() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setNumberOfZeros(arg)
|
|
numberOfZeros = property(__get_numberOfZeros, __set_numberOfZeros)
|
|
|
|
def __get_numberOfPoles(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.numberOfPoles()
|
|
except ValueError:
|
|
return None
|
|
def __set_numberOfPoles(self, arg):
|
|
if self.__get_numberOfPoles() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setNumberOfPoles(arg)
|
|
numberOfPoles = property(__get_numberOfPoles, __set_numberOfPoles)
|
|
|
|
def __get_zeros(self):
|
|
# optional Attribute
|
|
try: # @return: ComplexArray
|
|
return ComplexArray2str(self.obj.zeros().content())
|
|
except ValueError:
|
|
return None
|
|
def __set_zeros(self, arg):
|
|
try: value = str2ComplexArray(arg)
|
|
except: value = None
|
|
ret = self.__get_zeros()
|
|
if not str2ComplexArray(ret) == value:
|
|
self._needsUpdate = True
|
|
self.obj.setZeros(value)
|
|
zeros = property(__get_zeros, __set_zeros)
|
|
|
|
def __get_poles(self):
|
|
# optional Attribute
|
|
try: # @return: ComplexArray
|
|
return ComplexArray2str(self.obj.poles().content())
|
|
except ValueError:
|
|
return None
|
|
def __set_poles(self, arg):
|
|
try: value = str2ComplexArray(arg)
|
|
except: value = None
|
|
ret = self.__get_poles()
|
|
if not str2ComplexArray(ret) == value:
|
|
self._needsUpdate = True
|
|
self.obj.setPoles(value)
|
|
poles = property(__get_poles, __set_poles)
|
|
|
|
def __get_remark(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.remark()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_remark(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_remark() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRemark(blob)
|
|
remark = property(__get_remark, __set_remark)
|
|
|
|
def __get_decimationFactor(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.decimationFactor()
|
|
except ValueError:
|
|
return None
|
|
def __set_decimationFactor(self, arg):
|
|
if self.__get_decimationFactor() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setDecimationFactor(arg)
|
|
decimationFactor = property(__get_decimationFactor, __set_decimationFactor)
|
|
|
|
def __get_delay(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.delay()
|
|
except ValueError:
|
|
return None
|
|
def __set_delay(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_delay() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDelay(value)
|
|
delay = property(__get_delay, __set_delay)
|
|
|
|
def __get_correction(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.correction()
|
|
except ValueError:
|
|
return None
|
|
def __set_correction(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_correction() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setCorrection(value)
|
|
correction = property(__get_correction, __set_correction)
|
|
|
|
|
|
# package: Inventory
|
|
class base_responsepolynomial(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_name(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.name())
|
|
except ValueError:
|
|
return None
|
|
def __set_name(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_name() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setName(value)
|
|
name = property(__get_name, __set_name)
|
|
|
|
def __get_gain(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gain()
|
|
except ValueError:
|
|
return None
|
|
def __set_gain(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gain() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGain(value)
|
|
gain = property(__get_gain, __set_gain)
|
|
|
|
def __get_gainFrequency(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gainFrequency()
|
|
except ValueError:
|
|
return None
|
|
def __set_gainFrequency(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gainFrequency() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGainFrequency(value)
|
|
gainFrequency = property(__get_gainFrequency, __set_gainFrequency)
|
|
|
|
def __get_frequencyUnit(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.frequencyUnit())
|
|
except ValueError:
|
|
return None
|
|
def __set_frequencyUnit(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_frequencyUnit() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setFrequencyUnit(value)
|
|
frequencyUnit = property(__get_frequencyUnit, __set_frequencyUnit)
|
|
|
|
def __get_approximationType(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.approximationType())
|
|
except ValueError:
|
|
return None
|
|
def __set_approximationType(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_approximationType() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setApproximationType(value)
|
|
approximationType = property(__get_approximationType, __set_approximationType)
|
|
|
|
def __get_approximationLowerBound(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.approximationLowerBound()
|
|
except ValueError:
|
|
return None
|
|
def __set_approximationLowerBound(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_approximationLowerBound() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setApproximationLowerBound(value)
|
|
approximationLowerBound = property(__get_approximationLowerBound, __set_approximationLowerBound)
|
|
|
|
def __get_approximationUpperBound(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.approximationUpperBound()
|
|
except ValueError:
|
|
return None
|
|
def __set_approximationUpperBound(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_approximationUpperBound() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setApproximationUpperBound(value)
|
|
approximationUpperBound = property(__get_approximationUpperBound, __set_approximationUpperBound)
|
|
|
|
def __get_approximationError(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.approximationError()
|
|
except ValueError:
|
|
return None
|
|
def __set_approximationError(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_approximationError() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setApproximationError(value)
|
|
approximationError = property(__get_approximationError, __set_approximationError)
|
|
|
|
def __get_numberOfCoefficients(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.numberOfCoefficients()
|
|
except ValueError:
|
|
return None
|
|
def __set_numberOfCoefficients(self, arg):
|
|
if self.__get_numberOfCoefficients() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setNumberOfCoefficients(arg)
|
|
numberOfCoefficients = property(__get_numberOfCoefficients, __set_numberOfCoefficients)
|
|
|
|
def __get_coefficients(self):
|
|
# optional Attribute
|
|
try: # @return: RealArray
|
|
return RealArray2str(self.obj.coefficients().content())
|
|
except ValueError:
|
|
return None
|
|
def __set_coefficients(self, arg):
|
|
try: value = str2RealArray(arg)
|
|
except: value = None
|
|
ret = self.__get_coefficients()
|
|
if not str2RealArray(ret) == value:
|
|
self._needsUpdate = True
|
|
self.obj.setCoefficients(value)
|
|
coefficients = property(__get_coefficients, __set_coefficients)
|
|
|
|
def __get_remark(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.remark()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_remark(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_remark() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRemark(blob)
|
|
remark = property(__get_remark, __set_remark)
|
|
|
|
|
|
# package: Inventory
|
|
class base_responsefap(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_name(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.name())
|
|
except ValueError:
|
|
return None
|
|
def __set_name(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_name() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setName(value)
|
|
name = property(__get_name, __set_name)
|
|
|
|
def __get_gain(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gain()
|
|
except ValueError:
|
|
return None
|
|
def __set_gain(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gain() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGain(value)
|
|
gain = property(__get_gain, __set_gain)
|
|
|
|
def __get_gainFrequency(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gainFrequency()
|
|
except ValueError:
|
|
return None
|
|
def __set_gainFrequency(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gainFrequency() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGainFrequency(value)
|
|
gainFrequency = property(__get_gainFrequency, __set_gainFrequency)
|
|
|
|
def __get_numberOfTuples(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.numberOfTuples()
|
|
except ValueError:
|
|
return None
|
|
def __set_numberOfTuples(self, arg):
|
|
if self.__get_numberOfTuples() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setNumberOfTuples(arg)
|
|
numberOfTuples = property(__get_numberOfTuples, __set_numberOfTuples)
|
|
|
|
def __get_tuples(self):
|
|
# optional Attribute
|
|
try: # @return: RealArray
|
|
return RealArray2str(self.obj.tuples().content())
|
|
except ValueError:
|
|
return None
|
|
def __set_tuples(self, arg):
|
|
try: value = str2RealArray(arg)
|
|
except: value = None
|
|
ret = self.__get_tuples()
|
|
if not str2RealArray(ret) == value:
|
|
self._needsUpdate = True
|
|
self.obj.setTuples(value)
|
|
tuples = property(__get_tuples, __set_tuples)
|
|
|
|
def __get_remark(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.remark()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_remark(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_remark() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRemark(blob)
|
|
remark = property(__get_remark, __set_remark)
|
|
|
|
|
|
# package: Inventory
|
|
class base_responsefir(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_name(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.name())
|
|
except ValueError:
|
|
return None
|
|
def __set_name(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_name() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setName(value)
|
|
name = property(__get_name, __set_name)
|
|
|
|
def __get_gain(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gain()
|
|
except ValueError:
|
|
return None
|
|
def __set_gain(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gain() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGain(value)
|
|
gain = property(__get_gain, __set_gain)
|
|
|
|
def __get_gainFrequency(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gainFrequency()
|
|
except ValueError:
|
|
return None
|
|
def __set_gainFrequency(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gainFrequency() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGainFrequency(value)
|
|
gainFrequency = property(__get_gainFrequency, __set_gainFrequency)
|
|
|
|
def __get_decimationFactor(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.decimationFactor()
|
|
except ValueError:
|
|
return None
|
|
def __set_decimationFactor(self, arg):
|
|
if self.__get_decimationFactor() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setDecimationFactor(arg)
|
|
decimationFactor = property(__get_decimationFactor, __set_decimationFactor)
|
|
|
|
def __get_delay(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.delay()
|
|
except ValueError:
|
|
return None
|
|
def __set_delay(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_delay() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDelay(value)
|
|
delay = property(__get_delay, __set_delay)
|
|
|
|
def __get_correction(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.correction()
|
|
except ValueError:
|
|
return None
|
|
def __set_correction(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_correction() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setCorrection(value)
|
|
correction = property(__get_correction, __set_correction)
|
|
|
|
def __get_numberOfCoefficients(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.numberOfCoefficients()
|
|
except ValueError:
|
|
return None
|
|
def __set_numberOfCoefficients(self, arg):
|
|
if self.__get_numberOfCoefficients() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setNumberOfCoefficients(arg)
|
|
numberOfCoefficients = property(__get_numberOfCoefficients, __set_numberOfCoefficients)
|
|
|
|
def __get_symmetry(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.symmetry())
|
|
except ValueError:
|
|
return None
|
|
def __set_symmetry(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_symmetry() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setSymmetry(value)
|
|
symmetry = property(__get_symmetry, __set_symmetry)
|
|
|
|
def __get_coefficients(self):
|
|
# optional Attribute
|
|
try: # @return: RealArray
|
|
return RealArray2str(self.obj.coefficients().content())
|
|
except ValueError:
|
|
return None
|
|
def __set_coefficients(self, arg):
|
|
try: value = str2RealArray(arg)
|
|
except: value = None
|
|
ret = self.__get_coefficients()
|
|
if not str2RealArray(ret) == value:
|
|
self._needsUpdate = True
|
|
self.obj.setCoefficients(value)
|
|
coefficients = property(__get_coefficients, __set_coefficients)
|
|
|
|
def __get_remark(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.remark()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_remark(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_remark() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRemark(blob)
|
|
remark = property(__get_remark, __set_remark)
|
|
|
|
|
|
# package: Inventory
|
|
class base_responseiir(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_name(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.name())
|
|
except ValueError:
|
|
return None
|
|
def __set_name(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_name() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setName(value)
|
|
name = property(__get_name, __set_name)
|
|
|
|
def __get_type(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.type())
|
|
except ValueError:
|
|
return None
|
|
def __set_type(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_type() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setType(value)
|
|
type = property(__get_type, __set_type)
|
|
|
|
def __get_gain(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gain()
|
|
except ValueError:
|
|
return None
|
|
def __set_gain(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gain() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGain(value)
|
|
gain = property(__get_gain, __set_gain)
|
|
|
|
def __get_gainFrequency(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gainFrequency()
|
|
except ValueError:
|
|
return None
|
|
def __set_gainFrequency(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gainFrequency() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGainFrequency(value)
|
|
gainFrequency = property(__get_gainFrequency, __set_gainFrequency)
|
|
|
|
def __get_decimationFactor(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.decimationFactor()
|
|
except ValueError:
|
|
return None
|
|
def __set_decimationFactor(self, arg):
|
|
if self.__get_decimationFactor() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setDecimationFactor(arg)
|
|
decimationFactor = property(__get_decimationFactor, __set_decimationFactor)
|
|
|
|
def __get_delay(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.delay()
|
|
except ValueError:
|
|
return None
|
|
def __set_delay(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_delay() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDelay(value)
|
|
delay = property(__get_delay, __set_delay)
|
|
|
|
def __get_correction(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.correction()
|
|
except ValueError:
|
|
return None
|
|
def __set_correction(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_correction() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setCorrection(value)
|
|
correction = property(__get_correction, __set_correction)
|
|
|
|
def __get_numberOfNumerators(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.numberOfNumerators()
|
|
except ValueError:
|
|
return None
|
|
def __set_numberOfNumerators(self, arg):
|
|
if self.__get_numberOfNumerators() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setNumberOfNumerators(arg)
|
|
numberOfNumerators = property(__get_numberOfNumerators, __set_numberOfNumerators)
|
|
|
|
def __get_numberOfDenominators(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.numberOfDenominators()
|
|
except ValueError:
|
|
return None
|
|
def __set_numberOfDenominators(self, arg):
|
|
if self.__get_numberOfDenominators() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setNumberOfDenominators(arg)
|
|
numberOfDenominators = property(__get_numberOfDenominators, __set_numberOfDenominators)
|
|
|
|
def __get_numerators(self):
|
|
# optional Attribute
|
|
try: # @return: RealArray
|
|
return RealArray2str(self.obj.numerators().content())
|
|
except ValueError:
|
|
return None
|
|
def __set_numerators(self, arg):
|
|
try: value = str2RealArray(arg)
|
|
except: value = None
|
|
ret = self.__get_numerators()
|
|
if not str2RealArray(ret) == value:
|
|
self._needsUpdate = True
|
|
self.obj.setNumerators(value)
|
|
numerators = property(__get_numerators, __set_numerators)
|
|
|
|
def __get_denominators(self):
|
|
# optional Attribute
|
|
try: # @return: RealArray
|
|
return RealArray2str(self.obj.denominators().content())
|
|
except ValueError:
|
|
return None
|
|
def __set_denominators(self, arg):
|
|
try: value = str2RealArray(arg)
|
|
except: value = None
|
|
ret = self.__get_denominators()
|
|
if not str2RealArray(ret) == value:
|
|
self._needsUpdate = True
|
|
self.obj.setDenominators(value)
|
|
denominators = property(__get_denominators, __set_denominators)
|
|
|
|
def __get_remark(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.remark()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_remark(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_remark() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRemark(blob)
|
|
remark = property(__get_remark, __set_remark)
|
|
|
|
|
|
# package: Inventory
|
|
class base_dataloggercalibration(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_serialNumber(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.serialNumber())
|
|
except ValueError:
|
|
return None
|
|
def __set_serialNumber(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_serialNumber() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setSerialNumber(value)
|
|
serialNumber = property(__get_serialNumber, __set_serialNumber)
|
|
|
|
def __get_channel(self):
|
|
try: # @return: int
|
|
return self.obj.channel()
|
|
except ValueError:
|
|
return None
|
|
def __set_channel(self, arg):
|
|
if self.__get_channel() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setChannel(arg)
|
|
channel = property(__get_channel, __set_channel)
|
|
|
|
def __get_start(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
def __get_gain(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gain()
|
|
except ValueError:
|
|
return None
|
|
def __set_gain(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gain() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGain(value)
|
|
gain = property(__get_gain, __set_gain)
|
|
|
|
def __get_gainFrequency(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gainFrequency()
|
|
except ValueError:
|
|
return None
|
|
def __set_gainFrequency(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gainFrequency() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGainFrequency(value)
|
|
gainFrequency = property(__get_gainFrequency, __set_gainFrequency)
|
|
|
|
def __get_remark(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.remark()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_remark(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_remark() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRemark(blob)
|
|
remark = property(__get_remark, __set_remark)
|
|
|
|
|
|
# package: Inventory
|
|
class base_decimation(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_sampleRateNumerator(self):
|
|
try: # @return: int
|
|
return self.obj.sampleRateNumerator()
|
|
except ValueError:
|
|
return None
|
|
def __set_sampleRateNumerator(self, arg):
|
|
if self.__get_sampleRateNumerator() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setSampleRateNumerator(arg)
|
|
sampleRateNumerator = property(__get_sampleRateNumerator, __set_sampleRateNumerator)
|
|
|
|
def __get_sampleRateDenominator(self):
|
|
try: # @return: int
|
|
return self.obj.sampleRateDenominator()
|
|
except ValueError:
|
|
return None
|
|
def __set_sampleRateDenominator(self, arg):
|
|
if self.__get_sampleRateDenominator() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setSampleRateDenominator(arg)
|
|
sampleRateDenominator = property(__get_sampleRateDenominator, __set_sampleRateDenominator)
|
|
|
|
def __get_analogueFilterChain(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.analogueFilterChain()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_analogueFilterChain(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_analogueFilterChain() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setAnalogueFilterChain(blob)
|
|
analogueFilterChain = property(__get_analogueFilterChain, __set_analogueFilterChain)
|
|
|
|
def __get_digitalFilterChain(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.digitalFilterChain()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_digitalFilterChain(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_digitalFilterChain() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDigitalFilterChain(blob)
|
|
digitalFilterChain = property(__get_digitalFilterChain, __set_digitalFilterChain)
|
|
|
|
|
|
# package: Inventory
|
|
class base_datalogger(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_name(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.name())
|
|
except ValueError:
|
|
return None
|
|
def __set_name(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_name() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setName(value)
|
|
name = property(__get_name, __set_name)
|
|
|
|
def __get_description(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.description())
|
|
except ValueError:
|
|
return None
|
|
def __set_description(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_description() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDescription(value)
|
|
description = property(__get_description, __set_description)
|
|
|
|
def __get_digitizerModel(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.digitizerModel())
|
|
except ValueError:
|
|
return None
|
|
def __set_digitizerModel(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_digitizerModel() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDigitizerModel(value)
|
|
digitizerModel = property(__get_digitizerModel, __set_digitizerModel)
|
|
|
|
def __get_digitizerManufacturer(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.digitizerManufacturer())
|
|
except ValueError:
|
|
return None
|
|
def __set_digitizerManufacturer(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_digitizerManufacturer() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDigitizerManufacturer(value)
|
|
digitizerManufacturer = property(__get_digitizerManufacturer, __set_digitizerManufacturer)
|
|
|
|
def __get_recorderModel(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.recorderModel())
|
|
except ValueError:
|
|
return None
|
|
def __set_recorderModel(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_recorderModel() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRecorderModel(value)
|
|
recorderModel = property(__get_recorderModel, __set_recorderModel)
|
|
|
|
def __get_recorderManufacturer(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.recorderManufacturer())
|
|
except ValueError:
|
|
return None
|
|
def __set_recorderManufacturer(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_recorderManufacturer() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRecorderManufacturer(value)
|
|
recorderManufacturer = property(__get_recorderManufacturer, __set_recorderManufacturer)
|
|
|
|
def __get_clockModel(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.clockModel())
|
|
except ValueError:
|
|
return None
|
|
def __set_clockModel(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_clockModel() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setClockModel(value)
|
|
clockModel = property(__get_clockModel, __set_clockModel)
|
|
|
|
def __get_clockManufacturer(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.clockManufacturer())
|
|
except ValueError:
|
|
return None
|
|
def __set_clockManufacturer(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_clockManufacturer() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setClockManufacturer(value)
|
|
clockManufacturer = property(__get_clockManufacturer, __set_clockManufacturer)
|
|
|
|
def __get_clockType(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.clockType())
|
|
except ValueError:
|
|
return None
|
|
def __set_clockType(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_clockType() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setClockType(value)
|
|
clockType = property(__get_clockType, __set_clockType)
|
|
|
|
def __get_gain(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gain()
|
|
except ValueError:
|
|
return None
|
|
def __set_gain(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gain() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGain(value)
|
|
gain = property(__get_gain, __set_gain)
|
|
|
|
def __get_maxClockDrift(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.maxClockDrift()
|
|
except ValueError:
|
|
return None
|
|
def __set_maxClockDrift(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_maxClockDrift() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setMaxClockDrift(value)
|
|
maxClockDrift = property(__get_maxClockDrift, __set_maxClockDrift)
|
|
|
|
def __get_remark(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.remark()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_remark(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_remark() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRemark(blob)
|
|
remark = property(__get_remark, __set_remark)
|
|
|
|
|
|
def _new_dataloggercalibration(self, **args):
|
|
try: obj = seiscomp.datamodel.DataloggerCalibration()
|
|
except KeyError: pass
|
|
try: obj.setSerialNumber(args["serialNumber"])
|
|
except KeyError: pass
|
|
try: obj.setChannel(args["channel"])
|
|
except KeyError: pass
|
|
try: obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setGain(args["gain"])
|
|
except KeyError: pass
|
|
try: obj.setGainFrequency(args["gainFrequency"])
|
|
except KeyError: pass
|
|
try: obj.setRemark(args["remark"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Datalogger: error adding DataloggerCalibration")
|
|
return obj
|
|
def __get_dataloggercalibration(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.dataloggerCalibrationCount()):
|
|
for i in range(self.obj.dataloggerCalibrationCount()):
|
|
obj = self.obj.dataloggerCalibration(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_dataloggercalibration(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.dataloggerCalibrationCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.dataloggerCalibration(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_dataloggercalibration(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_dataloggercalibration(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_dataloggercalibration(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_dataloggerCalibration = property(__get_dataloggercalibration)
|
|
|
|
def _new_decimation(self, **args):
|
|
try: obj = seiscomp.datamodel.Decimation()
|
|
except KeyError: pass
|
|
try: obj.setSampleRateNumerator(args["sampleRateNumerator"])
|
|
except KeyError: pass
|
|
try: obj.setSampleRateDenominator(args["sampleRateDenominator"])
|
|
except KeyError: pass
|
|
try: obj.setAnalogueFilterChain(args["analogueFilterChain"])
|
|
except KeyError: pass
|
|
try: obj.setDigitalFilterChain(args["digitalFilterChain"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Datalogger: error adding Decimation")
|
|
return obj
|
|
def __get_decimation(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.decimationCount()):
|
|
for i in range(self.obj.decimationCount()):
|
|
obj = self.obj.decimation(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_decimation(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.decimationCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.decimation(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_decimation(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_decimation(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_decimation(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_decimation = property(__get_decimation)
|
|
|
|
|
|
# package: Inventory
|
|
class base_auxstream(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_code(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.code())
|
|
except ValueError:
|
|
return None
|
|
def __set_code(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_code() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setCode(value)
|
|
code = property(__get_code, __set_code)
|
|
|
|
def __get_start(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
def __get_device(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.device())
|
|
except ValueError:
|
|
return None
|
|
def __set_device(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_device() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDevice(value)
|
|
device = property(__get_device, __set_device)
|
|
|
|
def __get_deviceSerialNumber(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.deviceSerialNumber())
|
|
except ValueError:
|
|
return None
|
|
def __set_deviceSerialNumber(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_deviceSerialNumber() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDeviceSerialNumber(value)
|
|
deviceSerialNumber = property(__get_deviceSerialNumber, __set_deviceSerialNumber)
|
|
|
|
def __get_source(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.source())
|
|
except ValueError:
|
|
return None
|
|
def __set_source(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_source() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setSource(value)
|
|
source = property(__get_source, __set_source)
|
|
|
|
def __get_format(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.format())
|
|
except ValueError:
|
|
return None
|
|
def __set_format(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_format() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setFormat(value)
|
|
format = property(__get_format, __set_format)
|
|
|
|
def __get_flags(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.flags())
|
|
except ValueError:
|
|
return None
|
|
def __set_flags(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_flags() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setFlags(value)
|
|
flags = property(__get_flags, __set_flags)
|
|
|
|
def __get_restricted(self):
|
|
# optional Attribute
|
|
try: # @return: bool
|
|
return self.obj.restricted()
|
|
except ValueError:
|
|
return None
|
|
def __set_restricted(self, arg):
|
|
try: value = bool(arg)
|
|
except: value = None
|
|
if self.__get_restricted() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRestricted(value)
|
|
restricted = property(__get_restricted, __set_restricted)
|
|
|
|
def __get_shared(self):
|
|
# optional Attribute
|
|
try: # @return: bool
|
|
return self.obj.shared()
|
|
except ValueError:
|
|
return None
|
|
def __set_shared(self, arg):
|
|
try: value = bool(arg)
|
|
except: value = None
|
|
if self.__get_shared() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setShared(value)
|
|
shared = property(__get_shared, __set_shared)
|
|
|
|
|
|
# package: Inventory
|
|
class base_stream(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_code(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.code())
|
|
except ValueError:
|
|
return None
|
|
def __set_code(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_code() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setCode(value)
|
|
code = property(__get_code, __set_code)
|
|
|
|
def __get_start(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
def __get_datalogger(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.datalogger())
|
|
except ValueError:
|
|
return None
|
|
def __set_datalogger(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_datalogger() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDatalogger(value)
|
|
datalogger = property(__get_datalogger, __set_datalogger)
|
|
|
|
def __get_dataloggerSerialNumber(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.dataloggerSerialNumber())
|
|
except ValueError:
|
|
return None
|
|
def __set_dataloggerSerialNumber(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_dataloggerSerialNumber() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDataloggerSerialNumber(value)
|
|
dataloggerSerialNumber = property(__get_dataloggerSerialNumber, __set_dataloggerSerialNumber)
|
|
|
|
def __get_dataloggerChannel(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.dataloggerChannel()
|
|
except ValueError:
|
|
return None
|
|
def __set_dataloggerChannel(self, arg):
|
|
if self.__get_dataloggerChannel() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setDataloggerChannel(arg)
|
|
dataloggerChannel = property(__get_dataloggerChannel, __set_dataloggerChannel)
|
|
|
|
def __get_sensor(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.sensor())
|
|
except ValueError:
|
|
return None
|
|
def __set_sensor(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_sensor() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setSensor(value)
|
|
sensor = property(__get_sensor, __set_sensor)
|
|
|
|
def __get_sensorSerialNumber(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.sensorSerialNumber())
|
|
except ValueError:
|
|
return None
|
|
def __set_sensorSerialNumber(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_sensorSerialNumber() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setSensorSerialNumber(value)
|
|
sensorSerialNumber = property(__get_sensorSerialNumber, __set_sensorSerialNumber)
|
|
|
|
def __get_sensorChannel(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.sensorChannel()
|
|
except ValueError:
|
|
return None
|
|
def __set_sensorChannel(self, arg):
|
|
if self.__get_sensorChannel() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setSensorChannel(arg)
|
|
sensorChannel = property(__get_sensorChannel, __set_sensorChannel)
|
|
|
|
def __get_clockSerialNumber(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.clockSerialNumber())
|
|
except ValueError:
|
|
return None
|
|
def __set_clockSerialNumber(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_clockSerialNumber() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setClockSerialNumber(value)
|
|
clockSerialNumber = property(__get_clockSerialNumber, __set_clockSerialNumber)
|
|
|
|
def __get_sampleRateNumerator(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.sampleRateNumerator()
|
|
except ValueError:
|
|
return None
|
|
def __set_sampleRateNumerator(self, arg):
|
|
if self.__get_sampleRateNumerator() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setSampleRateNumerator(arg)
|
|
sampleRateNumerator = property(__get_sampleRateNumerator, __set_sampleRateNumerator)
|
|
|
|
def __get_sampleRateDenominator(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.sampleRateDenominator()
|
|
except ValueError:
|
|
return None
|
|
def __set_sampleRateDenominator(self, arg):
|
|
if self.__get_sampleRateDenominator() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setSampleRateDenominator(arg)
|
|
sampleRateDenominator = property(__get_sampleRateDenominator, __set_sampleRateDenominator)
|
|
|
|
def __get_depth(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.depth()
|
|
except ValueError:
|
|
return None
|
|
def __set_depth(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_depth() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDepth(value)
|
|
depth = property(__get_depth, __set_depth)
|
|
|
|
def __get_azimuth(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.azimuth()
|
|
except ValueError:
|
|
return None
|
|
def __set_azimuth(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_azimuth() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setAzimuth(value)
|
|
azimuth = property(__get_azimuth, __set_azimuth)
|
|
|
|
def __get_dip(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.dip()
|
|
except ValueError:
|
|
return None
|
|
def __set_dip(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_dip() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDip(value)
|
|
dip = property(__get_dip, __set_dip)
|
|
|
|
def __get_gain(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gain()
|
|
except ValueError:
|
|
return None
|
|
def __set_gain(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gain() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGain(value)
|
|
gain = property(__get_gain, __set_gain)
|
|
|
|
def __get_gainFrequency(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.gainFrequency()
|
|
except ValueError:
|
|
return None
|
|
def __set_gainFrequency(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_gainFrequency() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGainFrequency(value)
|
|
gainFrequency = property(__get_gainFrequency, __set_gainFrequency)
|
|
|
|
def __get_gainUnit(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.gainUnit())
|
|
except ValueError:
|
|
return None
|
|
def __set_gainUnit(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_gainUnit() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setGainUnit(value)
|
|
gainUnit = property(__get_gainUnit, __set_gainUnit)
|
|
|
|
def __get_format(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.format())
|
|
except ValueError:
|
|
return None
|
|
def __set_format(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_format() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setFormat(value)
|
|
format = property(__get_format, __set_format)
|
|
|
|
def __get_flags(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.flags())
|
|
except ValueError:
|
|
return None
|
|
def __set_flags(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_flags() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setFlags(value)
|
|
flags = property(__get_flags, __set_flags)
|
|
|
|
def __get_restricted(self):
|
|
# optional Attribute
|
|
try: # @return: bool
|
|
return self.obj.restricted()
|
|
except ValueError:
|
|
return None
|
|
def __set_restricted(self, arg):
|
|
try: value = bool(arg)
|
|
except: value = None
|
|
if self.__get_restricted() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRestricted(value)
|
|
restricted = property(__get_restricted, __set_restricted)
|
|
|
|
def __get_shared(self):
|
|
# optional Attribute
|
|
try: # @return: bool
|
|
return self.obj.shared()
|
|
except ValueError:
|
|
return None
|
|
def __set_shared(self, arg):
|
|
try: value = bool(arg)
|
|
except: value = None
|
|
if self.__get_shared() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setShared(value)
|
|
shared = property(__get_shared, __set_shared)
|
|
|
|
|
|
def _new_comment(self, **args):
|
|
try: obj = seiscomp.datamodel.Comment()
|
|
except KeyError: pass
|
|
try: obj.setText(args["text"])
|
|
except KeyError: pass
|
|
try: obj.setId(args["id"])
|
|
except KeyError: pass
|
|
try:
|
|
if args["start"] is None:
|
|
obj.setStart(None)
|
|
else:
|
|
obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setCreationInfo(args["creationInfo"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Stream: error adding Comment")
|
|
return obj
|
|
def __get_comment(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.commentCount()):
|
|
for i in range(self.obj.commentCount()):
|
|
obj = self.obj.comment(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_comment(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.commentCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.comment(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_comment(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_comment(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_comment(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_comment = property(__get_comment)
|
|
|
|
|
|
# package: Inventory
|
|
class base_sensorlocation(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_code(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.code())
|
|
except ValueError:
|
|
return None
|
|
def __set_code(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_code() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setCode(value)
|
|
code = property(__get_code, __set_code)
|
|
|
|
def __get_start(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
def __get_latitude(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.latitude()
|
|
except ValueError:
|
|
return None
|
|
def __set_latitude(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_latitude() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setLatitude(value)
|
|
latitude = property(__get_latitude, __set_latitude)
|
|
|
|
def __get_longitude(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.longitude()
|
|
except ValueError:
|
|
return None
|
|
def __set_longitude(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_longitude() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setLongitude(value)
|
|
longitude = property(__get_longitude, __set_longitude)
|
|
|
|
def __get_elevation(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.elevation()
|
|
except ValueError:
|
|
return None
|
|
def __set_elevation(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_elevation() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setElevation(value)
|
|
elevation = property(__get_elevation, __set_elevation)
|
|
|
|
|
|
def _new_comment(self, **args):
|
|
try: obj = seiscomp.datamodel.Comment()
|
|
except KeyError: pass
|
|
try: obj.setText(args["text"])
|
|
except KeyError: pass
|
|
try: obj.setId(args["id"])
|
|
except KeyError: pass
|
|
try:
|
|
if args["start"] is None:
|
|
obj.setStart(None)
|
|
else:
|
|
obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setCreationInfo(args["creationInfo"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.SensorLocation: error adding Comment")
|
|
return obj
|
|
def __get_comment(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.commentCount()):
|
|
for i in range(self.obj.commentCount()):
|
|
obj = self.obj.comment(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_comment(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.commentCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.comment(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_comment(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_comment(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_comment(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_comment = property(__get_comment)
|
|
|
|
def _new_auxstream(self, **args):
|
|
try: obj = seiscomp.datamodel.AuxStream()
|
|
except KeyError: pass
|
|
try: obj.setCode(args["code"])
|
|
except KeyError: pass
|
|
try: obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setDevice(args["device"])
|
|
except KeyError: pass
|
|
try: obj.setDeviceSerialNumber(args["deviceSerialNumber"])
|
|
except KeyError: pass
|
|
try: obj.setSource(args["source"])
|
|
except KeyError: pass
|
|
try: obj.setFormat(args["format"])
|
|
except KeyError: pass
|
|
try: obj.setFlags(args["flags"])
|
|
except KeyError: pass
|
|
try: obj.setRestricted(args["restricted"])
|
|
except KeyError: pass
|
|
try: obj.setShared(args["shared"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.SensorLocation: error adding AuxStream")
|
|
return obj
|
|
def __get_auxstream(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.auxStreamCount()):
|
|
for i in range(self.obj.auxStreamCount()):
|
|
obj = self.obj.auxStream(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_auxstream(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.auxStreamCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.auxStream(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_auxstream(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_auxstream(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_auxstream(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_auxStream = property(__get_auxstream)
|
|
|
|
def _new_stream(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.Stream.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.Stream.Create(publicID)
|
|
else: obj = seiscomp.datamodel.Stream.Create()
|
|
try: obj.setCode(args["code"])
|
|
except KeyError: pass
|
|
try: obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setDatalogger(args["datalogger"])
|
|
except KeyError: pass
|
|
try: obj.setDataloggerSerialNumber(args["dataloggerSerialNumber"])
|
|
except KeyError: pass
|
|
try: obj.setDataloggerChannel(args["dataloggerChannel"])
|
|
except KeyError: pass
|
|
try: obj.setSensor(args["sensor"])
|
|
except KeyError: pass
|
|
try: obj.setSensorSerialNumber(args["sensorSerialNumber"])
|
|
except KeyError: pass
|
|
try: obj.setSensorChannel(args["sensorChannel"])
|
|
except KeyError: pass
|
|
try: obj.setClockSerialNumber(args["clockSerialNumber"])
|
|
except KeyError: pass
|
|
try: obj.setSampleRateNumerator(args["sampleRateNumerator"])
|
|
except KeyError: pass
|
|
try: obj.setSampleRateDenominator(args["sampleRateDenominator"])
|
|
except KeyError: pass
|
|
try: obj.setDepth(args["depth"])
|
|
except KeyError: pass
|
|
try: obj.setAzimuth(args["azimuth"])
|
|
except KeyError: pass
|
|
try: obj.setDip(args["dip"])
|
|
except KeyError: pass
|
|
try: obj.setGain(args["gain"])
|
|
except KeyError: pass
|
|
try: obj.setGainFrequency(args["gainFrequency"])
|
|
except KeyError: pass
|
|
try: obj.setGainUnit(args["gainUnit"])
|
|
except KeyError: pass
|
|
try: obj.setFormat(args["format"])
|
|
except KeyError: pass
|
|
try: obj.setFlags(args["flags"])
|
|
except KeyError: pass
|
|
try: obj.setRestricted(args["restricted"])
|
|
except KeyError: pass
|
|
try: obj.setShared(args["shared"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.SensorLocation: error adding Stream")
|
|
return obj
|
|
def __get_stream(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.streamCount()):
|
|
for i in range(self.obj.streamCount()):
|
|
obj = self.obj.stream(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_stream(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.Stream.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.Stream.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_stream(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_stream = property(__get_stream)
|
|
|
|
|
|
# package: Inventory
|
|
class base_station(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_code(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.code())
|
|
except ValueError:
|
|
return None
|
|
def __set_code(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_code() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setCode(value)
|
|
code = property(__get_code, __set_code)
|
|
|
|
def __get_start(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
def __get_description(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.description())
|
|
except ValueError:
|
|
return None
|
|
def __set_description(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_description() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDescription(value)
|
|
description = property(__get_description, __set_description)
|
|
|
|
def __get_latitude(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.latitude()
|
|
except ValueError:
|
|
return None
|
|
def __set_latitude(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_latitude() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setLatitude(value)
|
|
latitude = property(__get_latitude, __set_latitude)
|
|
|
|
def __get_longitude(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.longitude()
|
|
except ValueError:
|
|
return None
|
|
def __set_longitude(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_longitude() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setLongitude(value)
|
|
longitude = property(__get_longitude, __set_longitude)
|
|
|
|
def __get_elevation(self):
|
|
# optional Attribute
|
|
try: # @return: double
|
|
return self.obj.elevation()
|
|
except ValueError:
|
|
return None
|
|
def __set_elevation(self, arg):
|
|
try: value = float(arg)
|
|
except: value = None
|
|
if self.__get_elevation() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setElevation(value)
|
|
elevation = property(__get_elevation, __set_elevation)
|
|
|
|
def __get_place(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.place())
|
|
except ValueError:
|
|
return None
|
|
def __set_place(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_place() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setPlace(value)
|
|
place = property(__get_place, __set_place)
|
|
|
|
def __get_country(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.country())
|
|
except ValueError:
|
|
return None
|
|
def __set_country(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_country() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setCountry(value)
|
|
country = property(__get_country, __set_country)
|
|
|
|
def __get_affiliation(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.affiliation())
|
|
except ValueError:
|
|
return None
|
|
def __set_affiliation(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_affiliation() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setAffiliation(value)
|
|
affiliation = property(__get_affiliation, __set_affiliation)
|
|
|
|
def __get_type(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.type())
|
|
except ValueError:
|
|
return None
|
|
def __set_type(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_type() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setType(value)
|
|
type = property(__get_type, __set_type)
|
|
|
|
def __get_archive(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.archive())
|
|
except ValueError:
|
|
return None
|
|
def __set_archive(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_archive() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setArchive(value)
|
|
archive = property(__get_archive, __set_archive)
|
|
|
|
def __get_archiveNetworkCode(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.archiveNetworkCode())
|
|
except ValueError:
|
|
return None
|
|
def __set_archiveNetworkCode(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_archiveNetworkCode() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setArchiveNetworkCode(value)
|
|
archiveNetworkCode = property(__get_archiveNetworkCode, __set_archiveNetworkCode)
|
|
|
|
def __get_restricted(self):
|
|
# optional Attribute
|
|
try: # @return: bool
|
|
return self.obj.restricted()
|
|
except ValueError:
|
|
return None
|
|
def __set_restricted(self, arg):
|
|
try: value = bool(arg)
|
|
except: value = None
|
|
if self.__get_restricted() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRestricted(value)
|
|
restricted = property(__get_restricted, __set_restricted)
|
|
|
|
def __get_shared(self):
|
|
# optional Attribute
|
|
try: # @return: bool
|
|
return self.obj.shared()
|
|
except ValueError:
|
|
return None
|
|
def __set_shared(self, arg):
|
|
try: value = bool(arg)
|
|
except: value = None
|
|
if self.__get_shared() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setShared(value)
|
|
shared = property(__get_shared, __set_shared)
|
|
|
|
def __get_remark(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.remark()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_remark(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_remark() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRemark(blob)
|
|
remark = property(__get_remark, __set_remark)
|
|
|
|
|
|
def _new_comment(self, **args):
|
|
try: obj = seiscomp.datamodel.Comment()
|
|
except KeyError: pass
|
|
try: obj.setText(args["text"])
|
|
except KeyError: pass
|
|
try: obj.setId(args["id"])
|
|
except KeyError: pass
|
|
try:
|
|
if args["start"] is None:
|
|
obj.setStart(None)
|
|
else:
|
|
obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setCreationInfo(args["creationInfo"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Station: error adding Comment")
|
|
return obj
|
|
def __get_comment(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.commentCount()):
|
|
for i in range(self.obj.commentCount()):
|
|
obj = self.obj.comment(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_comment(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.commentCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.comment(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_comment(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_comment(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_comment(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_comment = property(__get_comment)
|
|
|
|
def _new_sensorlocation(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.SensorLocation.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.SensorLocation.Create(publicID)
|
|
else: obj = seiscomp.datamodel.SensorLocation.Create()
|
|
try: obj.setCode(args["code"])
|
|
except KeyError: pass
|
|
try: obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setLatitude(args["latitude"])
|
|
except KeyError: pass
|
|
try: obj.setLongitude(args["longitude"])
|
|
except KeyError: pass
|
|
try: obj.setElevation(args["elevation"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Station: error adding SensorLocation")
|
|
return obj
|
|
def __get_sensorlocation(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.sensorLocationCount()):
|
|
for i in range(self.obj.sensorLocationCount()):
|
|
obj = self.obj.sensorLocation(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_sensorlocation(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.SensorLocation.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.SensorLocation.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_sensorlocation(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_sensorLocation = property(__get_sensorlocation)
|
|
|
|
|
|
# package: Inventory
|
|
class base_network(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_code(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.code())
|
|
except ValueError:
|
|
return None
|
|
def __set_code(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_code() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setCode(value)
|
|
code = property(__get_code, __set_code)
|
|
|
|
def __get_start(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
def __get_description(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.description())
|
|
except ValueError:
|
|
return None
|
|
def __set_description(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_description() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setDescription(value)
|
|
description = property(__get_description, __set_description)
|
|
|
|
def __get_institutions(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.institutions())
|
|
except ValueError:
|
|
return None
|
|
def __set_institutions(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_institutions() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setInstitutions(value)
|
|
institutions = property(__get_institutions, __set_institutions)
|
|
|
|
def __get_region(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.region())
|
|
except ValueError:
|
|
return None
|
|
def __set_region(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_region() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRegion(value)
|
|
region = property(__get_region, __set_region)
|
|
|
|
def __get_type(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.type())
|
|
except ValueError:
|
|
return None
|
|
def __set_type(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_type() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setType(value)
|
|
type = property(__get_type, __set_type)
|
|
|
|
def __get_netClass(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.netClass())
|
|
except ValueError:
|
|
return None
|
|
def __set_netClass(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_netClass() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setNetClass(value)
|
|
netClass = property(__get_netClass, __set_netClass)
|
|
|
|
def __get_archive(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.archive())
|
|
except ValueError:
|
|
return None
|
|
def __set_archive(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_archive() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setArchive(value)
|
|
archive = property(__get_archive, __set_archive)
|
|
|
|
def __get_restricted(self):
|
|
# optional Attribute
|
|
try: # @return: bool
|
|
return self.obj.restricted()
|
|
except ValueError:
|
|
return None
|
|
def __set_restricted(self, arg):
|
|
try: value = bool(arg)
|
|
except: value = None
|
|
if self.__get_restricted() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRestricted(value)
|
|
restricted = property(__get_restricted, __set_restricted)
|
|
|
|
def __get_shared(self):
|
|
# optional Attribute
|
|
try: # @return: bool
|
|
return self.obj.shared()
|
|
except ValueError:
|
|
return None
|
|
def __set_shared(self, arg):
|
|
try: value = bool(arg)
|
|
except: value = None
|
|
if self.__get_shared() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setShared(value)
|
|
shared = property(__get_shared, __set_shared)
|
|
|
|
def __get_remark(self):
|
|
# optional Attribute
|
|
try: # @return: Blob
|
|
B = self.obj.remark()
|
|
return py2unicode(B.content())
|
|
except ValueError:
|
|
return None
|
|
def __set_remark(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
blob = seiscomp.datamodel.Blob()
|
|
if value:
|
|
blob.setContent(value)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_remark() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setRemark(blob)
|
|
remark = property(__get_remark, __set_remark)
|
|
|
|
|
|
def _new_comment(self, **args):
|
|
try: obj = seiscomp.datamodel.Comment()
|
|
except KeyError: pass
|
|
try: obj.setText(args["text"])
|
|
except KeyError: pass
|
|
try: obj.setId(args["id"])
|
|
except KeyError: pass
|
|
try:
|
|
if args["start"] is None:
|
|
obj.setStart(None)
|
|
else:
|
|
obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setCreationInfo(args["creationInfo"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Network: error adding Comment")
|
|
return obj
|
|
def __get_comment(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.commentCount()):
|
|
for i in range(self.obj.commentCount()):
|
|
obj = self.obj.comment(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_comment(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.commentCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.comment(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_comment(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_comment(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_comment(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_comment = property(__get_comment)
|
|
|
|
def _new_station(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.Station.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.Station.Create(publicID)
|
|
else: obj = seiscomp.datamodel.Station.Create()
|
|
try: obj.setCode(args["code"])
|
|
except KeyError: pass
|
|
try: obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setDescription(args["description"])
|
|
except KeyError: pass
|
|
try: obj.setLatitude(args["latitude"])
|
|
except KeyError: pass
|
|
try: obj.setLongitude(args["longitude"])
|
|
except KeyError: pass
|
|
try: obj.setElevation(args["elevation"])
|
|
except KeyError: pass
|
|
try: obj.setPlace(args["place"])
|
|
except KeyError: pass
|
|
try: obj.setCountry(args["country"])
|
|
except KeyError: pass
|
|
try: obj.setAffiliation(args["affiliation"])
|
|
except KeyError: pass
|
|
try: obj.setType(args["type"])
|
|
except KeyError: pass
|
|
try: obj.setArchive(args["archive"])
|
|
except KeyError: pass
|
|
try: obj.setArchiveNetworkCode(args["archiveNetworkCode"])
|
|
except KeyError: pass
|
|
try: obj.setRestricted(args["restricted"])
|
|
except KeyError: pass
|
|
try: obj.setShared(args["shared"])
|
|
except KeyError: pass
|
|
try: obj.setRemark(args["remark"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Network: error adding Station")
|
|
return obj
|
|
def __get_station(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.stationCount()):
|
|
for i in range(self.obj.stationCount()):
|
|
obj = self.obj.station(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_station(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.Station.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.Station.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_station(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_station = property(__get_station)
|
|
|
|
|
|
# package: Inventory
|
|
class base_inventory(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def _new_stationgroup(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.StationGroup.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.StationGroup.Create(publicID)
|
|
else: obj = seiscomp.datamodel.StationGroup.Create()
|
|
try: obj.setType(args["type"])
|
|
except KeyError: pass
|
|
try: obj.setCode(args["code"])
|
|
except KeyError: pass
|
|
try:
|
|
if args["start"] is None:
|
|
obj.setStart(None)
|
|
else:
|
|
obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setDescription(args["description"])
|
|
except KeyError: pass
|
|
try: obj.setLatitude(args["latitude"])
|
|
except KeyError: pass
|
|
try: obj.setLongitude(args["longitude"])
|
|
except KeyError: pass
|
|
try: obj.setElevation(args["elevation"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Inventory: error adding StationGroup")
|
|
return obj
|
|
def __get_stationgroup(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.stationGroupCount()):
|
|
for i in range(self.obj.stationGroupCount()):
|
|
obj = self.obj.stationGroup(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_stationgroup(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.StationGroup.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.StationGroup.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_stationgroup(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_stationGroup = property(__get_stationgroup)
|
|
|
|
def _new_auxdevice(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.AuxDevice.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.AuxDevice.Create(publicID)
|
|
else: obj = seiscomp.datamodel.AuxDevice.Create()
|
|
try: obj.setName(args["name"])
|
|
except KeyError: pass
|
|
try: obj.setDescription(args["description"])
|
|
except KeyError: pass
|
|
try: obj.setModel(args["model"])
|
|
except KeyError: pass
|
|
try: obj.setManufacturer(args["manufacturer"])
|
|
except KeyError: pass
|
|
try: obj.setRemark(args["remark"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Inventory: error adding AuxDevice")
|
|
return obj
|
|
def __get_auxdevice(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.auxDeviceCount()):
|
|
for i in range(self.obj.auxDeviceCount()):
|
|
obj = self.obj.auxDevice(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_auxdevice(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.AuxDevice.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.AuxDevice.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_auxdevice(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_auxDevice = property(__get_auxdevice)
|
|
|
|
def _new_sensor(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.Sensor.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.Sensor.Create(publicID)
|
|
else: obj = seiscomp.datamodel.Sensor.Create()
|
|
try: obj.setName(args["name"])
|
|
except KeyError: pass
|
|
try: obj.setDescription(args["description"])
|
|
except KeyError: pass
|
|
try: obj.setModel(args["model"])
|
|
except KeyError: pass
|
|
try: obj.setManufacturer(args["manufacturer"])
|
|
except KeyError: pass
|
|
try: obj.setType(args["type"])
|
|
except KeyError: pass
|
|
try: obj.setUnit(args["unit"])
|
|
except KeyError: pass
|
|
try: obj.setLowFrequency(args["lowFrequency"])
|
|
except KeyError: pass
|
|
try: obj.setHighFrequency(args["highFrequency"])
|
|
except KeyError: pass
|
|
try: obj.setResponse(args["response"])
|
|
except KeyError: pass
|
|
try: obj.setRemark(args["remark"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Inventory: error adding Sensor")
|
|
return obj
|
|
def __get_sensor(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.sensorCount()):
|
|
for i in range(self.obj.sensorCount()):
|
|
obj = self.obj.sensor(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_sensor(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.Sensor.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.Sensor.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_sensor(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_sensor = property(__get_sensor)
|
|
|
|
def _new_datalogger(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.Datalogger.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.Datalogger.Create(publicID)
|
|
else: obj = seiscomp.datamodel.Datalogger.Create()
|
|
try: obj.setName(args["name"])
|
|
except KeyError: pass
|
|
try: obj.setDescription(args["description"])
|
|
except KeyError: pass
|
|
try: obj.setDigitizerModel(args["digitizerModel"])
|
|
except KeyError: pass
|
|
try: obj.setDigitizerManufacturer(args["digitizerManufacturer"])
|
|
except KeyError: pass
|
|
try: obj.setRecorderModel(args["recorderModel"])
|
|
except KeyError: pass
|
|
try: obj.setRecorderManufacturer(args["recorderManufacturer"])
|
|
except KeyError: pass
|
|
try: obj.setClockModel(args["clockModel"])
|
|
except KeyError: pass
|
|
try: obj.setClockManufacturer(args["clockManufacturer"])
|
|
except KeyError: pass
|
|
try: obj.setClockType(args["clockType"])
|
|
except KeyError: pass
|
|
try: obj.setGain(args["gain"])
|
|
except KeyError: pass
|
|
try: obj.setMaxClockDrift(args["maxClockDrift"])
|
|
except KeyError: pass
|
|
try: obj.setRemark(args["remark"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Inventory: error adding Datalogger")
|
|
return obj
|
|
def __get_datalogger(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.dataloggerCount()):
|
|
for i in range(self.obj.dataloggerCount()):
|
|
obj = self.obj.datalogger(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_datalogger(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.Datalogger.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.Datalogger.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_datalogger(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_datalogger = property(__get_datalogger)
|
|
|
|
def _new_responsepaz(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.ResponsePAZ.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.ResponsePAZ.Create(publicID)
|
|
else: obj = seiscomp.datamodel.ResponsePAZ.Create()
|
|
try: obj.setName(args["name"])
|
|
except KeyError: pass
|
|
try: obj.setType(args["type"])
|
|
except KeyError: pass
|
|
try: obj.setGain(args["gain"])
|
|
except KeyError: pass
|
|
try: obj.setGainFrequency(args["gainFrequency"])
|
|
except KeyError: pass
|
|
try: obj.setNormalizationFactor(args["normalizationFactor"])
|
|
except KeyError: pass
|
|
try: obj.setNormalizationFrequency(args["normalizationFrequency"])
|
|
except KeyError: pass
|
|
try: obj.setNumberOfZeros(args["numberOfZeros"])
|
|
except KeyError: pass
|
|
try: obj.setNumberOfPoles(args["numberOfPoles"])
|
|
except KeyError: pass
|
|
try: obj.setZeros(args["zeros"])
|
|
except KeyError: pass
|
|
try: obj.setPoles(args["poles"])
|
|
except KeyError: pass
|
|
try: obj.setRemark(args["remark"])
|
|
except KeyError: pass
|
|
try: obj.setDecimationFactor(args["decimationFactor"])
|
|
except KeyError: pass
|
|
try: obj.setDelay(args["delay"])
|
|
except KeyError: pass
|
|
try: obj.setCorrection(args["correction"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Inventory: error adding ResponsePAZ")
|
|
return obj
|
|
def __get_responsepaz(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.responsePAZCount()):
|
|
for i in range(self.obj.responsePAZCount()):
|
|
obj = self.obj.responsePAZ(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_responsepaz(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.ResponsePAZ.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.ResponsePAZ.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_responsepaz(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_responsePAZ = property(__get_responsepaz)
|
|
|
|
def _new_responsefir(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.ResponseFIR.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.ResponseFIR.Create(publicID)
|
|
else: obj = seiscomp.datamodel.ResponseFIR.Create()
|
|
try: obj.setName(args["name"])
|
|
except KeyError: pass
|
|
try: obj.setGain(args["gain"])
|
|
except KeyError: pass
|
|
try: obj.setGainFrequency(args["gainFrequency"])
|
|
except KeyError: pass
|
|
try: obj.setDecimationFactor(args["decimationFactor"])
|
|
except KeyError: pass
|
|
try: obj.setDelay(args["delay"])
|
|
except KeyError: pass
|
|
try: obj.setCorrection(args["correction"])
|
|
except KeyError: pass
|
|
try: obj.setNumberOfCoefficients(args["numberOfCoefficients"])
|
|
except KeyError: pass
|
|
try: obj.setSymmetry(args["symmetry"])
|
|
except KeyError: pass
|
|
try: obj.setCoefficients(args["coefficients"])
|
|
except KeyError: pass
|
|
try: obj.setRemark(args["remark"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Inventory: error adding ResponseFIR")
|
|
return obj
|
|
def __get_responsefir(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.responseFIRCount()):
|
|
for i in range(self.obj.responseFIRCount()):
|
|
obj = self.obj.responseFIR(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_responsefir(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.ResponseFIR.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.ResponseFIR.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_responsefir(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_responseFIR = property(__get_responsefir)
|
|
|
|
def _new_responseiir(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.ResponseIIR.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.ResponseIIR.Create(publicID)
|
|
else: obj = seiscomp.datamodel.ResponseIIR.Create()
|
|
try: obj.setName(args["name"])
|
|
except KeyError: pass
|
|
try: obj.setType(args["type"])
|
|
except KeyError: pass
|
|
try: obj.setGain(args["gain"])
|
|
except KeyError: pass
|
|
try: obj.setGainFrequency(args["gainFrequency"])
|
|
except KeyError: pass
|
|
try: obj.setDecimationFactor(args["decimationFactor"])
|
|
except KeyError: pass
|
|
try: obj.setDelay(args["delay"])
|
|
except KeyError: pass
|
|
try: obj.setCorrection(args["correction"])
|
|
except KeyError: pass
|
|
try: obj.setNumberOfNumerators(args["numberOfNumerators"])
|
|
except KeyError: pass
|
|
try: obj.setNumberOfDenominators(args["numberOfDenominators"])
|
|
except KeyError: pass
|
|
try: obj.setNumerators(args["numerators"])
|
|
except KeyError: pass
|
|
try: obj.setDenominators(args["denominators"])
|
|
except KeyError: pass
|
|
try: obj.setRemark(args["remark"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Inventory: error adding ResponseIIR")
|
|
return obj
|
|
def __get_responseiir(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.responseIIRCount()):
|
|
for i in range(self.obj.responseIIRCount()):
|
|
obj = self.obj.responseIIR(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_responseiir(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.ResponseIIR.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.ResponseIIR.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_responseiir(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_responseIIR = property(__get_responseiir)
|
|
|
|
def _new_responsepolynomial(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.ResponsePolynomial.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.ResponsePolynomial.Create(publicID)
|
|
else: obj = seiscomp.datamodel.ResponsePolynomial.Create()
|
|
try: obj.setName(args["name"])
|
|
except KeyError: pass
|
|
try: obj.setGain(args["gain"])
|
|
except KeyError: pass
|
|
try: obj.setGainFrequency(args["gainFrequency"])
|
|
except KeyError: pass
|
|
try: obj.setFrequencyUnit(args["frequencyUnit"])
|
|
except KeyError: pass
|
|
try: obj.setApproximationType(args["approximationType"])
|
|
except KeyError: pass
|
|
try: obj.setApproximationLowerBound(args["approximationLowerBound"])
|
|
except KeyError: pass
|
|
try: obj.setApproximationUpperBound(args["approximationUpperBound"])
|
|
except KeyError: pass
|
|
try: obj.setApproximationError(args["approximationError"])
|
|
except KeyError: pass
|
|
try: obj.setNumberOfCoefficients(args["numberOfCoefficients"])
|
|
except KeyError: pass
|
|
try: obj.setCoefficients(args["coefficients"])
|
|
except KeyError: pass
|
|
try: obj.setRemark(args["remark"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Inventory: error adding ResponsePolynomial")
|
|
return obj
|
|
def __get_responsepolynomial(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.responsePolynomialCount()):
|
|
for i in range(self.obj.responsePolynomialCount()):
|
|
obj = self.obj.responsePolynomial(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_responsepolynomial(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.ResponsePolynomial.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.ResponsePolynomial.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_responsepolynomial(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_responsePolynomial = property(__get_responsepolynomial)
|
|
|
|
def _new_responsefap(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.ResponseFAP.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.ResponseFAP.Create(publicID)
|
|
else: obj = seiscomp.datamodel.ResponseFAP.Create()
|
|
try: obj.setName(args["name"])
|
|
except KeyError: pass
|
|
try: obj.setGain(args["gain"])
|
|
except KeyError: pass
|
|
try: obj.setGainFrequency(args["gainFrequency"])
|
|
except KeyError: pass
|
|
try: obj.setNumberOfTuples(args["numberOfTuples"])
|
|
except KeyError: pass
|
|
try: obj.setTuples(args["tuples"])
|
|
except KeyError: pass
|
|
try: obj.setRemark(args["remark"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Inventory: error adding ResponseFAP")
|
|
return obj
|
|
def __get_responsefap(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.responseFAPCount()):
|
|
for i in range(self.obj.responseFAPCount()):
|
|
obj = self.obj.responseFAP(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_responsefap(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.ResponseFAP.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.ResponseFAP.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_responsefap(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_responseFAP = property(__get_responsefap)
|
|
|
|
def _new_network(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.Network.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.Network.Create(publicID)
|
|
else: obj = seiscomp.datamodel.Network.Create()
|
|
try: obj.setCode(args["code"])
|
|
except KeyError: pass
|
|
try: obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setDescription(args["description"])
|
|
except KeyError: pass
|
|
try: obj.setInstitutions(args["institutions"])
|
|
except KeyError: pass
|
|
try: obj.setRegion(args["region"])
|
|
except KeyError: pass
|
|
try: obj.setType(args["type"])
|
|
except KeyError: pass
|
|
try: obj.setNetClass(args["netClass"])
|
|
except KeyError: pass
|
|
try: obj.setArchive(args["archive"])
|
|
except KeyError: pass
|
|
try: obj.setRestricted(args["restricted"])
|
|
except KeyError: pass
|
|
try: obj.setShared(args["shared"])
|
|
except KeyError: pass
|
|
try: obj.setRemark(args["remark"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Inventory: error adding Network")
|
|
return obj
|
|
def __get_network(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.networkCount()):
|
|
for i in range(self.obj.networkCount()):
|
|
obj = self.obj.network(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_network(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.Network.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.Network.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_network(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_network = property(__get_network)
|
|
|
|
|
|
# package: Routing
|
|
class base_routearclink(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_address(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.address())
|
|
except ValueError:
|
|
return None
|
|
def __set_address(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_address() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setAddress(value)
|
|
address = property(__get_address, __set_address)
|
|
|
|
def __get_start(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
def __get_priority(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.priority()
|
|
except ValueError:
|
|
return None
|
|
def __set_priority(self, arg):
|
|
if self.__get_priority() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPriority(arg)
|
|
priority = property(__get_priority, __set_priority)
|
|
|
|
|
|
# package: Routing
|
|
class base_routeseedlink(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_address(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.address())
|
|
except ValueError:
|
|
return None
|
|
def __set_address(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_address() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setAddress(value)
|
|
address = property(__get_address, __set_address)
|
|
|
|
def __get_priority(self):
|
|
# optional Attribute
|
|
try: # @return: int
|
|
return self.obj.priority()
|
|
except ValueError:
|
|
return None
|
|
def __set_priority(self, arg):
|
|
if self.__get_priority() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPriority(arg)
|
|
priority = property(__get_priority, __set_priority)
|
|
|
|
|
|
# package: Routing
|
|
class base_route(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def __get_networkCode(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.networkCode())
|
|
except ValueError:
|
|
return None
|
|
def __set_networkCode(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_networkCode() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setNetworkCode(value)
|
|
networkCode = property(__get_networkCode, __set_networkCode)
|
|
|
|
def __get_stationCode(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.stationCode())
|
|
except ValueError:
|
|
return None
|
|
def __set_stationCode(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_stationCode() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setStationCode(value)
|
|
stationCode = property(__get_stationCode, __set_stationCode)
|
|
|
|
def __get_locationCode(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.locationCode())
|
|
except ValueError:
|
|
return None
|
|
def __set_locationCode(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_locationCode() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setLocationCode(value)
|
|
locationCode = property(__get_locationCode, __set_locationCode)
|
|
|
|
def __get_streamCode(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.streamCode())
|
|
except ValueError:
|
|
return None
|
|
def __set_streamCode(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_streamCode() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setStreamCode(value)
|
|
streamCode = property(__get_streamCode, __set_streamCode)
|
|
|
|
|
|
def _new_routearclink(self, **args):
|
|
try: obj = seiscomp.datamodel.RouteArclink()
|
|
except KeyError: pass
|
|
try: obj.setAddress(args["address"])
|
|
except KeyError: pass
|
|
try: obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try: obj.setPriority(args["priority"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Route: error adding RouteArclink")
|
|
return obj
|
|
def __get_routearclink(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.routeArclinkCount()):
|
|
for i in range(self.obj.routeArclinkCount()):
|
|
obj = self.obj.routeArclink(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_routearclink(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.routeArclinkCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.routeArclink(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_routearclink(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_routearclink(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_routearclink(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_routeArclink = property(__get_routearclink)
|
|
|
|
def _new_routeseedlink(self, **args):
|
|
try: obj = seiscomp.datamodel.RouteSeedlink()
|
|
except KeyError: pass
|
|
try: obj.setAddress(args["address"])
|
|
except KeyError: pass
|
|
try: obj.setPriority(args["priority"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Route: error adding RouteSeedlink")
|
|
return obj
|
|
def __get_routeseedlink(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.routeSeedlinkCount()):
|
|
for i in range(self.obj.routeSeedlinkCount()):
|
|
obj = self.obj.routeSeedlink(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_routeseedlink(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.routeSeedlinkCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.routeSeedlink(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_routeseedlink(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_routeseedlink(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_routeseedlink(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_routeSeedlink = property(__get_routeseedlink)
|
|
|
|
|
|
# package: Routing
|
|
class base_access(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_networkCode(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.networkCode())
|
|
except ValueError:
|
|
return None
|
|
def __set_networkCode(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_networkCode() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setNetworkCode(value)
|
|
networkCode = property(__get_networkCode, __set_networkCode)
|
|
|
|
def __get_stationCode(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.stationCode())
|
|
except ValueError:
|
|
return None
|
|
def __set_stationCode(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_stationCode() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setStationCode(value)
|
|
stationCode = property(__get_stationCode, __set_stationCode)
|
|
|
|
def __get_locationCode(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.locationCode())
|
|
except ValueError:
|
|
return None
|
|
def __set_locationCode(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_locationCode() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setLocationCode(value)
|
|
locationCode = property(__get_locationCode, __set_locationCode)
|
|
|
|
def __get_streamCode(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.streamCode())
|
|
except ValueError:
|
|
return None
|
|
def __set_streamCode(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_streamCode() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setStreamCode(value)
|
|
streamCode = property(__get_streamCode, __set_streamCode)
|
|
|
|
def __get_user(self):
|
|
try: # @return: const std::string&
|
|
return py2unicode(self.obj.user())
|
|
except ValueError:
|
|
return None
|
|
def __set_user(self, arg):
|
|
try:
|
|
value = py2str(arg)
|
|
except Exception as e:
|
|
seiscomp.logs.error(str(e))
|
|
return
|
|
if self.__get_user() != value:
|
|
self._needsUpdate = True
|
|
self.obj.setUser(value)
|
|
user = property(__get_user, __set_user)
|
|
|
|
def __get_start(self):
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.start().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_start(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_start()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setStart(value)
|
|
start = property(__get_start, __set_start)
|
|
|
|
def __get_end(self):
|
|
# optional Attribute
|
|
try: # @return: Seiscomp::Core::Time
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.end().toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
|
|
except ValueError:
|
|
return None
|
|
def __set_end(self, arg):
|
|
value = None
|
|
if arg is not None:
|
|
try: value = seiscomp.core.Time.FromString(py2str(arg), "%Y-%m-%d %H:%M:%S")
|
|
except: pass
|
|
if py2str(self.__get_end()) != py2str(arg):
|
|
self._needsUpdate = True
|
|
self.obj.setEnd(value)
|
|
end = property(__get_end, __set_end)
|
|
|
|
|
|
# package: Routing
|
|
class base_routing(object):
|
|
def __init__(self, obj):
|
|
self.obj = obj
|
|
self._needsUpdate = False
|
|
|
|
def _sync_update(self):
|
|
if self._needsUpdate:
|
|
self.obj.lastModified = seiscomp.core.Time.GMT()
|
|
self.obj.update()
|
|
self._needsUpdate = False
|
|
|
|
def _delete(self):
|
|
self.obj.detach()
|
|
|
|
def __get_last_modified(self):
|
|
return datetime.datetime(
|
|
*(time.strptime(
|
|
self.obj.lastModified.toString("%Y-%m-%dT%H:%M:%SZ"),
|
|
"%Y-%m-%dT%H:%M:%SZ")[0:6]
|
|
)
|
|
)
|
|
last_modified = property(__get_last_modified)
|
|
|
|
def __get_publicID(self):
|
|
return self.obj.publicID()
|
|
|
|
def __set_publicID(self, arg):
|
|
if self.__get_publicID() != arg:
|
|
self._needsUpdate = True
|
|
self.obj.setPublicID(arg)
|
|
publicID = property(__get_publicID,__set_publicID)
|
|
|
|
def _new_route(self, **args):
|
|
publicID = args.get("publicID")
|
|
if publicID and seiscomp.datamodel.Route.Find(publicID): publicID = None
|
|
if publicID: obj = seiscomp.datamodel.Route.Create(publicID)
|
|
else: obj = seiscomp.datamodel.Route.Create()
|
|
try: obj.setNetworkCode(args["networkCode"])
|
|
except KeyError: pass
|
|
try: obj.setStationCode(args["stationCode"])
|
|
except KeyError: pass
|
|
try: obj.setLocationCode(args["locationCode"])
|
|
except KeyError: pass
|
|
try: obj.setStreamCode(args["streamCode"])
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Routing: error adding Route")
|
|
return obj
|
|
def __get_route(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.routeCount()):
|
|
for i in range(self.obj.routeCount()):
|
|
obj = self.obj.route(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_route(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
it = dbQuery.getObjects(self.obj, seiscomp.datamodel.Route.TypeInfo())
|
|
while it.get():
|
|
try:
|
|
obj = seiscomp.datamodel.Route.Cast(it.get())
|
|
obj.lastModified = it.lastModified()
|
|
list.append(base_route(obj))
|
|
except ValueError as e:
|
|
print(str(e))
|
|
it.step()
|
|
return list
|
|
_route = property(__get_route)
|
|
|
|
def _new_access(self, **args):
|
|
try: obj = seiscomp.datamodel.Access()
|
|
except KeyError: pass
|
|
try: obj.setNetworkCode(args["networkCode"])
|
|
except KeyError: pass
|
|
try: obj.setStationCode(args["stationCode"])
|
|
except KeyError: pass
|
|
try: obj.setLocationCode(args["locationCode"])
|
|
except KeyError: pass
|
|
try: obj.setStreamCode(args["streamCode"])
|
|
except KeyError: pass
|
|
try: obj.setUser(args["user"])
|
|
except KeyError: pass
|
|
try: obj.setStart(seiscomp.core.Time.FromString(str(args["start"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
try:
|
|
if args["end"] is None:
|
|
obj.setEnd(None)
|
|
else:
|
|
obj.setEnd(seiscomp.core.Time.FromString(str(args["end"]), "%Y-%m-%d %H:%M:%S"))
|
|
except KeyError: pass
|
|
if not self.obj.add(obj):
|
|
print("seiscomp.datamodel.Routing: error adding Access")
|
|
return obj
|
|
def __get_access(self):
|
|
list = []
|
|
if dbQuery is None:
|
|
if (self.obj.accessCount()):
|
|
for i in range(self.obj.accessCount()):
|
|
obj = self.obj.access(i)
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_access(obj))
|
|
else:
|
|
# HACK to make last_modified usable ...
|
|
i = 0
|
|
objects_left = self.obj.accessCount()
|
|
while objects_left > 0:
|
|
try:
|
|
obj = self.obj.access(i)
|
|
try:
|
|
obj.lastModified = self.obj.lastModified
|
|
list.append(base_access(obj))
|
|
objects_left -= 1
|
|
except AttributeError:
|
|
try:
|
|
obj.lastModified = seiscomp.core.Time.GMT()
|
|
list.append(base_access(obj))
|
|
objects_left -= 1
|
|
except:
|
|
seiscomp.logs.debug("got " + repr(obj) + " in __get_access(), objects_left=" + str(objects_left))
|
|
i += 1
|
|
except ValueError as e:
|
|
print(str(e))
|
|
return list
|
|
_access = property(__get_access)
|
|
|
|
|