def tail(self): ''' tail ''' end_time = datetime.datetime.utcnow() start_time = end_time - datetime.timedelta(0, 200) feeder = gems_feeder.GEMSExtractor(start_time = tu.datetime_to_gemsdate(start_time), \ end_time = tu.datetime_to_gemsdate(end_time), \ severity = ["A","W","I"], \ facility = ['DVB_EUR_UPLINK']) while True: last_line = None for line in feeder: last_line = line GEMSColPrinter.print_line(last_line) if not last_line: #print("sleep") time.sleep(10) #increase time window end_time = datetime.datetime.utcnow() else: pos = last_line['time'].rfind('.') the_time = last_line['time'][:pos] start_time = tu.gemsdate_to_datetime(the_time) start_time = start_time + datetime.timedelta(0, 1) end_time = datetime.datetime.utcnow() feeder = gems_feeder.GEMSExtractor(start_time = tu.datetime_to_gemsdate(start_time), \ end_time = tu.datetime_to_gemsdate(end_time), \ severity = ["A","W","I"], \ facility = ['DVB_EUR_UPLINK'])
def parse_GEMS_request(self, **kwargs): """ Parse the parameters in GEMS """ #look for start_time s_time = kwargs.get('start_time', '') #convert to GEMS time if it is a simple date if type(s_time) == time_utils.DATETIME_TYPE: s_time = time_utils.datetime_to_gemsdate(s_time) else: #convert string datetime to gems datetime s_time = time_utils.simpledate_to_gemsdate( convert_date_str_to_datetime(s_time)) e_time = kwargs.get('end_time', '') if type(e_time) == time_utils.DATETIME_TYPE: e_time = time_utils.datetime_to_gemsdate(e_time) else: #convert string datetime to gems datetime e_time = time_utils.simpledate_to_gemsdate( convert_date_str_to_datetime(e_time)) start_time = 'startTime=%s' % (s_time) end_time = '&endTime=%s' % (e_time) severities = '' str_severities = kwargs.get('severity', None) if str_severities: for severity in str_severities: if severity in ['I', 'A', 'W']: severities = ''.join( [severities, '&severity=%s' % (severity)]) else: #default equals all severities #maybe it should be moved in other object severities = '&severity=I&severity=A&severity=W' facilities = '' for facility in kwargs.get('facility', []): facilities += '&facility=%s' % (facility) hosts = '' for host in kwargs.get('host', []): hosts += '&host=%s' % (host) processes = '' for process in kwargs.get('process', []): processes += '&process=%s' % (process) #url encode the elements # for the moment always regExp search = '&search=%s®Exp=1' % (urllib.quote(kwargs.get( 'search', ''))) request = "%s%s%s%s%s%s%s%s%s&pageSize=%s&x=50&y=6" % ( GEMSExtractor.URL_PREFIX, \ GEMSExtractor.D_URL_PREFIX, \ start_time, end_time, \ severities, facilities, \ hosts, processes, \ search, GEMSExtractor.MAX_NB_ELEMENTS) GEMSExtractor.log.debug("request =%s\n" % (request)) return request
def parse_GEMS_request(self, **kwargs): """ Parse the parameters in GEMS """ #look for start_time s_time = kwargs.get('start_time', '') #convert to GEMS time if it is a simple date if type(s_time) == time_utils.DATETIME_TYPE: s_time = time_utils.datetime_to_gemsdate(s_time) else: #convert string datetime to gems datetime s_time = time_utils.simpledate_to_gemsdate(convert_date_str_to_datetime(s_time)) e_time = kwargs.get('end_time', '') if type(e_time) == time_utils.DATETIME_TYPE: e_time = time_utils.datetime_to_gemsdate(e_time) else: #convert string datetime to gems datetime e_time = time_utils.simpledate_to_gemsdate(convert_date_str_to_datetime(e_time)) start_time = 'startTime=%s' % (s_time) end_time = '&endTime=%s' % (e_time) severities = '' str_severities = kwargs.get('severity', None) if str_severities: for severity in str_severities: if severity in ['I', 'A', 'W']: severities = ''.join([severities, '&severity=%s' % (severity)]) else: #default equals all severities #maybe it should be moved in other object severities = '&severity=I&severity=A&severity=W' facilities = '' for facility in kwargs.get('facility', []): facilities += '&facility=%s' % (facility) hosts = '' for host in kwargs.get('host', []): hosts += '&host=%s' % (host) processes = '' for process in kwargs.get('process', []): processes += '&process=%s' % (process) #url encode the elements # for the moment always regExp search = '&search=%s®Exp=1' % (urllib.quote(kwargs.get('search',''))) request = "%s%s%s%s%s%s%s%s%s&pageSize=%s&x=50&y=6" % ( GEMSExtractor.URL_PREFIX, \ GEMSExtractor.D_URL_PREFIX, \ start_time, end_time, \ severities, facilities, \ hosts, processes, \ search, GEMSExtractor.MAX_NB_ELEMENTS) GEMSExtractor.log.debug("request =%s\n" %(request)) return request