Started to work on ticket #122

This commit is contained in:
Sebastian Wehling-Benatelli 2014-05-14 11:45:45 +02:00
parent 307e960d34
commit 3278470deb

View File

@ -25,7 +25,7 @@ class GenericDataStructure(object):
rootExpression = stexp rootExpression = stexp
break break
structExpression.reverse() structExpression.reverse()
self.folderDepth = folderdepth self.folderDepth = folderdepth
self.dataBaseDict = kwargs self.dataBaseDict = kwargs
@ -40,15 +40,33 @@ class SeiscompDataStructure(object):
:type date: str or UTCDateTime or None :type date: str or UTCDateTime or None
''' '''
def __init__(self, dataType='waveform', date=None, **kwargs): def __init__(self, dataType='waveform', sdate=None, edate=None, **kwargs):
# imports # imports
from obspy.core import UTCDateTime from obspy.core import UTCDateTime
import numpy as np
if date is not None and not isinstance(date, UTCDateTime): def checkDate(date):
try: if not isinstance(date, UTCDateTime):
dod = UTCDateTime(date) return True
except: return False
dod = UTCDateTime()
try:
if checkDate(sdate):
sdate = UTCDateTime(sdate)
if checkDate(edate):
edate = UTCDateTime(edate)
except TypeError:
edate = UTCDateTime()
sdate = edate - np.pi*1e7/2
year = ''
if not edate.year == sdate.year:
nyears = edate.year - sdate.year
for yr in range(nyears):
year += '{0:04d},'.format(sdate.year+yr)
year = '{'+year[:-1]+'}'
else:
year = '{0:04d},'.format(sdate.year)
# Data type options # Data type options
self.__typeOptions = {'waveform': 'D', # Waveform data self.__typeOptions = {'waveform': 'D', # Waveform data
@ -72,13 +90,13 @@ class SeiscompDataStructure(object):
# http://www.seiscomp3.org/wiki/doc/applications/slarchive/SDS # http://www.seiscomp3.org/wiki/doc/applications/slarchive/SDS
self.__sdsFields = {'SDSdir': '/data/SDS', # base directory self.__sdsFields = {'SDSdir': '/data/SDS', # base directory
'YEAR': '{0:04d}'.format(now.year), # 4 digits 'YEAR': year, # 4 digits
'NET': '??', # up to 8 characters 'NET': '??', # up to 8 characters
'STA': '????', # up to 8 characters 'STA': '????', # up to 8 characters
'CHAN': 'HH?', # up to 8 characters 'CHAN': 'HH?', # up to 8 characters
'TYPE': self._getType(), # 1 character 'TYPE': self._getType(), # 1 character
'LOC': '', # up to 8 characters 'LOC': '', # up to 8 characters
'DAY': '{0:03d}'.format(now.julday) # 3 digit doy 'DAY': '{0:03d}'.format(sdate.julday) # 3 digits
} }
self.modifiyFields(**kwargs) self.modifiyFields(**kwargs)