Beispiel #1
0
def compare_page():
    uuids = request.values.get('uuids', "").split(',')
    game_uuids = []
    state_uuids = []
    for id in uuids:
        if dbm.retrieve_attr_from_db('uuid', id, dbm.GAME_CITATION_TABLE):
            game_uuids.append(id)
            state_uuids.append('NO_ID')
        elif dbm.retrieve_attr_from_db('uuid', id, dbm.GAME_SAVE_TABLE):
            state = dbm.retrieve_save_state(uuid=id)[0]
            state_uuids.append(id)
            game_uuids.append(state['game_uuid'])

    return render_template('compare.html',
                           game_uuids=",".join(game_uuids),
                           state_uuids=",".join(state_uuids)
                           )
 def process_citation_url():
     while True:
         url = (yield)
         if not dbm.is_attr_in_db('source_url', url, dbm.GAME_CITATION_TABLE):
             click.echo('Extracting url {} through coroutine.'.format(url))
             extractor = get_extractor_for_uri(url, get_url_source(url))
             extractor.extract()
             citation, extracted_options = extractor.create_citation()
             citations.append((citation, NEW))
         else:
             click.echo('Found {} in local db.'.format(url))
             citation = dbm.create_cite_ref_from_db(GAME_CITE_REF,
                                                    dbm.retrieve_attr_from_db(
                                                        'source_url',
                                                        url,
                                                        dbm.GAME_CITATION_TABLE)[0])
             citations.append((citation, OLD))
    def get_cite_for_uuid(result):
        ref_type = result['tags']
        uuid = result['uuid']
        if ref_type == GAME_CITE_REF:
            table = dbm.GAME_CITATION_TABLE
        if ref_type == PERF_CITE_REF:
            table = dbm.PERFORMANCE_CITATION_TABLE
        if ref_type == STATE_CITE_REF:
            table = dbm.GAME_SAVE_TABLE

        if ref_type in (GAME_CITE_REF, PERF_CITE_REF):
            db_values = dbm.retrieve_attr_from_db('uuid', uuid, table, limit=1)[0]
            citation = dbm.create_cite_ref_from_db(ref_type, db_values)
        else:
            citation = dbm.retrieve_save_state(uuid=uuid)[0]
            citation['ref_type'] = STATE_CITE_REF
        return citation
def get_duplicates(value, field, table_name):
    dup_tuples = dbm.retrieve_attr_from_db(field, value, table_name)
    return [dict(zip(dbm.headers[table_name], dup)) for dup in dup_tuples]