def g_new_taipei_city_dig_point_next_year_handler():
    db_results = util.db_find_it('roadDB',
                                 {'the_category': 'new_taipei_city_dig_point'},
                                 {
                                     '_id': False,
                                     'end_timestamp': True
                                 })
    if not db_results:
        return START_NEW_TAIPEI_CITY_DIG_POINT_YEAR

    db_result = db_results.sort('end_timestamp', pymongo.DESCENDING).limit(1)

    if not db_result:
        return START_NEW_TAIPEI_CITY_DIG_POINT_YEAR

    result_list = list(db_result)

    if not result_list:
        return START_NEW_TAIPEI_CITY_DIG_POINT_YEAR

    result = result_list[0]

    end_timestamp = result.get('end_timestamp', MAX_TIMESTAMP)  #1000.0
    end_datetime = util.timestamp_to_datetime(end_timestamp)
    the_year = end_datetime.year

    return the_year
def get_google_address_handler(params):
    n_db_result = util._int(params.get('n', 1))
    db_result = util.db_find_it('bee_csv', {'is_processed_address': {'$ne': True}}, {'_id': False, 'csv_key': True, 'google_address': True, 'address': True, 'county_and_town': True})

    db_result_total = db_result.count()

    db_result = db_result.limit(n_db_result)

    db_result = list(db_result)

    return {"status": "OK", "total": db_result_total, "result": db_result}
def g_json_all_handler(params):
    next_id = params.get('next_id', '')
    sort_order = params.get('order', 'DESC')
    is_desc = True if sort_order in ['desc', 'DESC'] else False
    num_query = util._int(params.get('num_query', DEFAULT_NUM_QUERY))

    the_query = {}
    if next_id:
        query_key = '$lte' if is_desc else '$gte'
        the_query['json_id'] = {query_key: next_id}

    db_results = util.db_find_it('roadDB', the_query, {'_id': False, 'extension': False})

    sort_flag = pymongo.DESCENDING if is_desc else pymongo.ASCENDING
    db_results.sort([('json_id', sort_flag)]).limit(num_query)

    results = list(db_results)

    return results
def get_google_address_handler(params):
    n_db_result = util._int(params.get('n', 1))
    db_result = util.db_find_it('bee_csv',
                                {'is_processed_address': {
                                    '$ne': True
                                }}, {
                                    '_id': False,
                                    'csv_key': True,
                                    'google_address': True,
                                    'address': True,
                                    'county_and_town': True
                                })

    db_result_total = db_result.count()

    db_result = db_result.limit(n_db_result)

    db_result = list(db_result)

    return {"status": "OK", "total": db_result_total, "result": db_result}
Exemple #5
0
def get_json_today_by_start_date_handler(start_date, params):
    start_timestamp = util.date_to_timestamp(start_date)
    next_id = params.get('next_id', '')
    sort_order = params.get('order', 'DESC')
    num_query = util._int(params.get('num_query', DEFAULT_NUM_QUERY))
    is_desc = sort_order in ['DESC', 'desc']

    today = util.date_today()
    today_timestamp = util.date_to_timestamp(today)

    cfg.logger.debug('start_timestamp: %s today_timestamp: %s',
                     start_timestamp, today_timestamp)

    the_query = {
        'start_timestamp': {
            '$lte': start_timestamp
        },
        'end_timestamp': {
            '$gte': today_timestamp
        }
    }
    if next_id:
        query_key = '$lte' if is_desc else '$gte'
        the_query['json_id'] = {query_key: next_id}

    db_results = util.db_find_it('roadDB', the_query, {
        '_id': False,
        'extension': False
    })

    sort_flag = pymongo.DESCENDING if is_desc else pymongo.ASCENDING
    db_results.sort([('json_id', sort_flag)]).limit(num_query)

    results = list(db_results)

    cfg.logger.debug('start_date: %s next_id: %s num_query: %s', start_date,
                     next_id, num_query)
    for (idx, result) in enumerate(results):
        cfg.logger.debug('idx: %s result: %s', idx, result)

    return results
def g_taipei_city_road_case_next_road_case_handler():
    db_results = util.db_find_it('roadDB', {'the_category': 'taipei_city_road_case', "the_idx": {"$gte": MIN_NEXT_TAIPEI_CITY_ROAD_CASE, "$lte": MAX_NEXT_TAIPEI_CITY_ROAD_CASE}}, {'_id': False, 'the_idx': True})
    if not db_results:
        return START_TAIPEI_CITY_ROAD_CASE
    
    db_result = db_results.sort('the_idx', pymongo.DESCENDING).limit(1)

    if not db_result:
        return START_TAIPEI_CITY_ROAD_CASE

    result_list = list(db_result)

    if not result_list:
        return START_TAIPEI_CITY_ROAD_CASE

    result = result_list[0]

    the_idx = result.get('the_idx', START_TAIPEI_CITY_ROAD_CASE) #1000.0
    the_idx = util._int(util._float(the_idx) // 1)

    return util._int(the_idx)
def get_versions_handler(params):
    n_db_result = util._int(params.get("n", 1))
    db_result = util.db_find_it(
        "bee_csv",
        {"is_processed_address": True, "is_processed_ad_version": {"$ne": True}},
        {
            "_id": False,
            "csv_key": True,
            "address": True,
            "google_address": True,
            "geo": True,
            "version_text": True,
            "versions": True,
            "deliver_time": True,
        },
    )
    db_result = db_result.limit(n_db_result)

    db_result = list(db_result)

    return {"status": "OK", "result": db_result}
def get_versions_handler(params):
    n_db_result = util._int(params.get('n', 1))
    db_result = util.db_find_it('bee_csv', {
        'is_processed_address': True,
        'is_processed_ad_version': {
            '$ne': True
        }
    }, {
        '_id': False,
        'csv_key': True,
        'address': True,
        'google_address': True,
        'geo': True,
        'version_text': True,
        'versions': True,
        "deliver_time": True
    })
    db_result = db_result.limit(n_db_result)

    db_result = list(db_result)

    return {"status": "OK", "result": db_result}
Exemple #9
0
def g_json_all_handler(params):
    next_id = params.get('next_id', '')
    sort_order = params.get('order', 'DESC')
    is_desc = True if sort_order in ['desc', 'DESC'] else False
    num_query = util._int(params.get('num_query', DEFAULT_NUM_QUERY))

    the_query = {}
    if next_id:
        query_key = '$lte' if is_desc else '$gte'
        the_query['json_id'] = {query_key: next_id}

    db_results = util.db_find_it('roadDB', the_query, {
        '_id': False,
        'extension': False
    })

    sort_flag = pymongo.DESCENDING if is_desc else pymongo.ASCENDING
    db_results.sort([('json_id', sort_flag)]).limit(num_query)

    results = list(db_results)

    return results
def g_new_taipei_city_dig_point_next_year_handler():
    db_results = util.db_find_it('roadDB', {'the_category': 'new_taipei_city_dig_point'}, {'_id': False, 'end_timestamp': True})
    if not db_results:
        return START_NEW_TAIPEI_CITY_DIG_POINT_YEAR

    db_result = db_results.sort('end_timestamp', pymongo.DESCENDING).limit(1)

    if not db_result:
        return START_NEW_TAIPEI_CITY_DIG_POINT_YEAR


    result_list = list(db_result)

    if not result_list:
        return START_NEW_TAIPEI_CITY_DIG_POINT_YEAR

    result = result_list[0]

    end_timestamp = result.get('end_timestamp', MAX_TIMESTAMP) #1000.0
    end_datetime = util.timestamp_to_datetime(end_timestamp)
    the_year = end_datetime.year

    return the_year
def g_ad_data_handler():
    db_results_it = util.db_find_it('bee_img', {}, {"_id": False, "name": True, "the_type": True, "the_id": True})
    db_results_it.sort([('the_id', pymongo.DESCENDING)])
    db_results = list(db_results_it)

    return db_results