Ejemplo n.º 1
0
def lookup_date_info(today_datetime):
    query_body = {
        'query': {
            'match_all': {}
        },
        'size': MAX_VALUE,
        'sort': {
            'date_time': {
                'order': 'asc'
            }
        }
    }
    try:
        result = es_xnr.search(index=weibo_date_remind_index_name,
                               doc_type=weibo_date_remind_index_type,
                               body=query_body)['hits']['hits']
        date_result = []
        for item in result:
            #计算距离日期
            date_time = item['_source']['date_time']
            year = ts2yeartime(today_datetime)
            warming_date = year + '-' + date_time
            today_date = ts2datetime(today_datetime)
            countdown_num = (datetime2ts(warming_date) -
                             datetime2ts(today_date)) / DAY
            item['_source']['countdown_days'] = countdown_num
            if abs(countdown_num) < WARMING_DAY:
                date_result.append(warming_date)
            else:
                pass
    except:
        date_result = []
    #print 'date_result',date_result
    return date_result
Ejemplo n.º 2
0
def create_date_warning(start_time,end_time):
    today_datetime = end_time
    query_body={
        'query':{
        	'match_all':{}
        },
        'size':MAX_VALUE,
        'sort':{'date_time':{'order':'asc'}}
    }
    #try:
    result=es_xnr.search(index=weibo_date_remind_index_name,doc_type=weibo_date_remind_index_type,body=query_body)['hits']['hits']
    date_result=[]
    for item in result:
        #计算距离日期
        date_time=item['_source']['date_time']
        year=ts2yeartime(today_datetime)
        warming_date=year+'-'+date_time
        today_date=ts2datetime(today_datetime)
        countdown_num=(datetime2ts(warming_date)-datetime2ts(today_date))/DAY
    
        if abs(countdown_num) < WARMING_DAY:
            #根据给定的关键词查询预警微博
            keywords=item['_source']['keywords']
            date_warming=lookup_weibo_date_warming(keywords,start_time,end_time)
            
            item['_source']['weibo_date_warming_content']=json.dumps(date_warming)
            item['_source']['validity']=0
            item['_source']['timestamp']=datetime2ts(ts2datetime(today_datetime))
            now_time=int(time.time())
            task_id=str(item['_source']['date_time'])+'_'+ ts2datetime(today_datetime)    
            #print 'task_id',task_id
            #写入数据库
            
            weibo_timing_warning_index_name=weibo_timing_warning_index_name_pre+warming_date
            #print weibo_timing_warning_index_name
            mark = False
            if date_warming:
                if not es_xnr.indices.exists(index=weibo_timing_warning_index_name):
                    weibo_timing_warning_mappings(weibo_timing_warning_index_name)
                #try:
                es_xnr.index(index=weibo_timing_warning_index_name,doc_type=weibo_timing_warning_index_type,body=item['_source'],id=task_id)
                mark=True
                #except:
                 #   mark=False
                  #  print 'write error!'
            else:
                pass
            date_result.append(mark)
    else:
        pass

    #except:
    #    date_result=[]
    return date_result
Ejemplo n.º 3
0
def create_date_warning(today_datetime):
    query_body={
        'query':{
            'match_all':{}
        },
        'size':MAX_VALUE,
        'sort':{'date_time':{'order':'asc'}}
    }
    try:
        result=es_xnr.search(index=weibo_date_remind_index_name,doc_type=weibo_date_remind_index_type,body=query_body)['hits']['hits']
        date_result=[]
        for item in result:
            #计算距离日期
            date_time=item['_source']['date_time']
            year=ts2yeartime(today_datetime)
            warming_date=year+'-'+date_time
            today_date=ts2datetime(today_datetime)
            countdown_num=(datetime2ts(warming_date)-datetime2ts(today_date))/DAY
        
            if abs(countdown_num) < WARMING_DAY:
                #根据给定的关键词查询预警微博
                # print 'date_time:',date_time
                keywords=item['_source']['keywords']
                date_warming=lookup_facebook_date_warming(keywords,today_datetime)
                item['_source']['facebook_date_warming_content']=json.dumps(date_warming)
                item['_source']['validity']=0
                item['_source']['timestamp']=today_datetime   

                # task_id=str(item['_source']['create_time'])+'_'+str(today_datetime)
                task_id=date_time+'_'+str(today_datetime) 
                #print 'task_id',task_id
                #print 'date_warming',date_warming
                print 'type:',type(item['_source'])
                #写入数据库
                
                facebook_timing_warning_index_name=facebook_timing_warning_index_name_pre+warming_date
                
                if date_warming:
                    print 'facebook_timing_warning_index_name:',facebook_timing_warning_index_name,task_id
                    try:
                        es_xnr.index(index=facebook_timing_warning_index_name,doc_type=facebook_timing_warning_index_type,body=item['_source'],id=task_id)
                        mark=True
                    except:
                        mark=False
                else:
                    pass

                date_result.append(mark)
        else:
            pass

    except:
        date_result=[]
    return date_result