コード例 #1
0
ファイル: db.py プロジェクト: jkrukowski/rss
def create():
    """Creates db from model and executes sql script to fill tables"""
    Rss.create_table()
    Data.create_table()
    Tokenized.create_table()
    with open(SQL_SCRIPT) as f:
        for line in f:
            SQL_DB.execute_sql(line.strip())
コード例 #2
0
ファイル: db.py プロジェクト: jkrukowski/rss
def insert_update_tokenized(data):
    """Inserts or updates tokenized data"""
    if Tokenized.select().where(
            Tokenized.data_id == data['data_id']).exists():
        row = Tokenized.get(
            Tokenized.data_id == data['data_id'])
        row.tokenized_count = data['tokenized_count']
        row.tokenized_plain = data['tokenized_plain']
        row.save()
        result = row.tokenized_id
    else:
        new_row = Tokenized()
        new_row.data_id = data['data_id']
        new_row.tokenized_count = data['tokenized_count']
        new_row.tokenized_plain = data['tokenized_plain']
        new_row.save()
        result = new_row.tokenized_id
    return result
コード例 #3
0
ファイル: db.py プロジェクト: jkrukowski/rss
def get_descriptions(date_point=None, date_range=None):
    """Returns list of descriptions within given date range,
       from given date point"""
    if not date_point:
        date_point = datetime.datetime.now()
    if not date_range:
        date_range = datetime.timedelta(hours=12)
    dt = get_datetime(date_point, date_range)
    rows = Tokenized.select().join(Data).where(
        (Data.published <= date_point) &
        (Data.published >= dt)).order_by(Tokenized.data_id.desc())
    result = QueryResult('data_id', 'name', 'title', 'published', 'data')
    for row in rows:
        result.add_bunch(data_id=row.data_id.data_id,
                         name=row.data_id.rss_id.name,
                         title=row.data_id.title,
                         published=row.data_id.published.isoformat(),
                         data=schema.deserialize_plain(str(row.tokenized_plain)))
    return result