Пример #1
0
def createFolder(EventPath):

    Folder = {}
    Logfile.red('Create working environment')

    Folder['cluster'] = os.path.join(EventPath, 'cluster')

    if os.access(Folder['cluster'], os.F_OK) is False:
        os.makedirs(Folder['cluster'])

    if os.access(os.getcwd(), os.W_OK):
        basedir = os.path.join(EventPath, 'work')
        sembdir = os.path.join(basedir, 'semblance')
        ascdir = os.path.join(basedir, 'asc')
        mseeddir = os.path.join(basedir, 'mseed')

        Folder['base'] = basedir
        Folder['semb'] = sembdir
        Folder['asc'] = ascdir
        Folder['mseed'] = mseeddir
        Folder['event'] = EventPath

    else:
        Logfile.abort('create Folder: No write permissions for ' + os.getcwd())

    Folder['config'] = os.path.join(os.getcwd(), 'skeleton')
    return Folder
Пример #2
0
def checkKeys(conf, keyList, optional=False):

    if type(keyList) is str:
        list1 = list(keyList)
    else:
        list1 = keyList

    if not optional:
        Basic.checkExistsKeys(conf, list1, isAbort=True)

    eventDir = Globals.EventDir()
    isOk = True

    for key in list1:
        val = conf[key]
        msg = None

        if key == duration:
            msg = Basic.checkGreaterZero(val)
        elif key in [mindist, maxdist]:
            msg = Basic.checkNotNegative(val)
        elif key in [keyfilefolder, metaCatalog]:
            Basic.checkExistsDir(os.path.join(eventDir, val), isAbort=True)
        elif key in [blacklist, mail, pwd]:
            continue

        if msg is not None:
            isOk = Logfile.error('Key <' + key + '> in config file: ' + msg)

    if not isOk:
        Logfile.abort()
    return True
Пример #3
0
def existsHTML_Page(url, text=None, withComment=False, isAbort=False):

    h = httplib2.Http()

    try:
        resp = h.request(url, 'HEAD')
        status = int(resp[0]['status'])

        if status < 400:
            return True  # page exists
    except:
        status = 104  # error: [Errno 104] Connection reset by peer  ???

    if withComment:
        s = 'HTML page not found, error = ' + str(status)

        if text is None:
            Logfile.error(s, url)
        else:
            Logfile.error(text, s, url)

    if isAbort:
        Logfile.abort()

    return False
Пример #4
0
def checkExistsDir(dirName, isAbort=False):

    if os.path.isdir(dirName):
        return True

    Logfile.error('Cannot find directory', dirName)

    if isAbort:
        Logfile.abort()
    return False
Пример #5
0
def checkFileExists(fileName, isAbort=False):

    if os.path.isfile(fileName):
        return True

    Logfile.fileOpenError(fileName)

    if isAbort:
        Logfile.abort('')
    else:
        return False
Пример #6
0
def checkExistsKeys(dict, keyList, isAbort=False):

    isOk = True

    for key in keyList:
        if not key in dict:
            isOk = Logfile.error('Key <' + str(key) +
                                 '> missing in config file')

    if isOk:
        return True
    elif isAbort:
        Logfile.abort()

    return False
Пример #7
0
def createDirectory(dirName, optional=False):

    if os.path.isdir(dirName):
        return True

    os.makedirs(dirName)

    if os.path.isdir(dirName):
        return True
    else:
        Logfile.error('Cannot open directory', dirName)

    if not optional:
        Logfile.abort()

    return False
Пример #8
0
def writeWaveform(Folder, station, Stream, flag, network):

    if flag == 'U':
        s1 = 'unfiltered'
    elif flag == 'F':
        s1 = 'filtered'
    elif flag == 'R':
        s1 = 'resampled'

    else:
        Logfile.abort('writeWaveform: Illegal flag <' + flag + '>')

    fname = ('%s-%s-%s.mseed') % (network, station, flag)
    name = os.path.join(Folder['mseed'], fname)
    Stream.write(name, format='MSEED')

    Logfile.add('%s stream for station %s written ' % (s1, station))
Пример #9
0
    def run(self):

        Logfile.init(self.runTimeLog, self.errorLog)
        Logfile.setStartMsg(self.version)

        if not self.extern.init():
            Logfile.abort()

        try:
            ret = self.extern.process()

            if ret:
                msg = 'Palantiri finished'
            else:
                msg = 'Palantiri finished with error - maybe Sauron looked back?'

        except KeyboardInterrupt:
            msg = 'Gandalf made Pippin drop the Palantiri by Control C'
            ret = False

        self.extern.finish()
        Logfile.showLabel(msg)
        return ret
Пример #10
0
    def _error0(self, msg):

        Logfile.error(msg)
        Logfile.abort()