コード例 #1
0
ファイル: db.py プロジェクト: jkrukowski/rss
def insert_update_data(data, cache_time_delta=None):
    """Inserts new prased feed or updates existing parsed feed"""
    dt = get_datetime(time_delta=cache_time_delta)
    if Data.select().where(
            (Data.last_modified > dt) &
            (Data.identifier == data['identifier'])).exists():
        row = Data.get(
            (Data.last_modified > dt) &
            (Data.identifier == data['identifier']))
        result = update_data(row, data)
    elif Data.select().where(
            (Data.last_modified > dt) &
            (Data.rss_id == data['rss_id']) &
            (Data.description_hash == data['description_hash'])).exists():
        row = Data.get(
            (Data.last_modified > dt) &
            (Data.rss_id == data['rss_id']) &
            (Data.description_hash == data['description_hash']))
        result = update_data(row, data)
    else:
        result = insert_data(data)
    return result