示例#1
0
def get_recommended_subjects(request):
    db_conn = request['db_conn']
    entity_ids = ('JAFGYFWhILcsiByyH2O9frcU', )
    if config['debug']:
        entity_ids = ('subjectAll', )
    subjects = Subject.list_by_entity_ids(db_conn, entity_ids)
    if not subjects:
        return abort(404)
    return 200, {'subjects': [subject.deliver() for subject in subjects]}
示例#2
0
def list_user_subjects_entity(user_id, params, db_conn):
    """
    Join the user's subject_ids with subject information.
    Return empty list when there's no matching documents.
    """

    # TODO-2 each subject -- needs review?
    # TODO-2 order by last reviewed time
    user_subject = get_user_subjects(user_id, db_conn)
    # TODO-3 limit = params.get('limit') or 10
    # TODO-3 skip = params.get('skip') or 0
    return Subject.list_by_entity_ids(db_conn, user_subject['subject_ids'])
示例#3
0
def test_list_by_entity_ids(db_conn, subjects_table):
    """
    Expect to list subjects by given entity IDs.
    """

    subjects_table.insert([{
        'entity_id': 'A1',
        'name': 'A',
        'body': 'Apple',
        'created': r.now(),
        'modified': r.now(),
        'status': 'accepted',
    }, {
        'entity_id': 'B2',
        'name': 'B',
        'body': 'Banana',
        'created': r.now(),
        'modified': r.now(),
        'status': 'accepted',
    }, {
        'entity_id': 'C3',
        'name': 'C',
        'body': 'Coconut',
        'created': r.now(),
        'modified': r.now(),
        'status': 'accepted',
    }, {
        'entity_id': 'D4',
        'name': 'D',
        'body': 'Date',
        'created': r.now(),
        'modified': r.now(),
        'status': 'accepted',
    }]).run(db_conn)
    subjects = Subject.list_by_entity_ids(db_conn, ['A1', 'C3'])
    assert subjects[0]['body'] in ('Apple', 'Coconut')
    assert subjects[0]['body'] in ('Apple', 'Coconut')