コード例 #1
0
ファイル: session.py プロジェクト: indico/indico-mobile
def store_slot(slot, event):
    convert_dates(slot)
    clean_html_tags(slot)

    is_poster = slot['isPoster']
    slot_id = slot['id']
    color = slot['color']

    slot['event'] = ref(event)
    slot.pop('conveners')
    slot.pop('_type')

    db_slot = db.SessionSlot()
    db_slot.update(slot)
    db_slot['entries'] = []

    db_slot=db.SessionSlot.find_and_modify({'conferenceId': db_slot["conferenceId"], 'id': slot_id}, db_slot, upsert=True, new=True)


    entries = []

    for _, block_content in slot.get('entries', {}).iteritems():
        if block_content['_type'] == 'ContribSchEntry':
            entries.append(ref(store_contribution(block_content, event, color, is_poster, db_slot)))
    db_slot['entries'] = entries
    if len(db_slot['entries']) > 0:
        db_slot=db.SessionSlot.find_and_modify({'conferenceId': db_slot["conferenceId"], 'id': slot_id}, db_slot, upsert=True, new=True)
        store_material(slot)
    return db_slot
コード例 #2
0
ファイル: session.py プロジェクト: OmeGak/indico-mobile
def store_slot(slot, event):
    convert_dates(slot)
    clean_html_tags(slot)

    session_id = slot['sessionId']
    is_poster = slot['isPoster']
    slot_id = slot['id']
    color = slot['color']

    slot['event'] = ref(event)
    slot.pop('conveners')
    slot.pop('_type')

    db_slot = db.SessionSlot()
    db_slot.update(slot)
    db_slot['entries'] = []

    db_slot.save()

    entries = []

    for contribution, block_content in slot.get('entries', {}).iteritems():
        if block_content['_type'] == 'ContribSchEntry':
            entries.append(ref(store_contribution(block_content, event, color, is_poster, db_slot)))
    db_slot['entries'] = entries
    if len(db_slot['entries']) > 0:
        db_slot.save()
        store_material(slot)
    return db_slot
コード例 #3
0
ファイル: session.py プロジェクト: mvidalgarcia/indico-mobile
def store_slot(slot, event):
    convert_dates(slot)
    clean_html_tags(slot)

    is_poster = slot['isPoster']
    slot_id = slot['id']
    color = slot['color']

    slot['event'] = ref(event)
    slot.pop('conveners')
    slot.pop('_type')

    db_slot = db.SessionSlot()
    db_slot.update(slot)
    db_slot['entries'] = []

    db_slot = db.SessionSlot.find_and_modify(
        {
            'conferenceId': db_slot["conferenceId"],
            'id': slot_id
        },
        db_slot,
        upsert=True,
        new=True)

    entries = []

    for _, block_content in slot.get('entries', {}).iteritems():
        if block_content['_type'] == 'ContribSchEntry':
            entries.append(
                ref(
                    store_contribution(block_content, event, color, is_poster,
                                       db_slot)))
    db_slot['entries'] = entries
    if len(db_slot['entries']) > 0:
        db_slot = db.SessionSlot.find_and_modify(
            {
                'conferenceId': db_slot["conferenceId"],
                'id': slot_id
            },
            db_slot,
            upsert=True,
            new=True)
        store_material(slot)
    return db_slot