Пример #1
0
def search_gists(db_connection, **kwargs):
    query = '''
        SELECT * FROM gists '''
    
    for kwarg, value in kwargs.items():
        if isinstance(value, datetime):
            query = query + 'WHERE datetime({}) == datetime(:{})'.format(kwarg, kwarg)
        else:
            query = query + 'WHERE {} = :{}'.format(kwarg, value)
    cursor = db_connection.execute(query, kwargs)
    results = [Gist(gist) for gist in cursor]
    return results
Пример #2
0
def search_gists(db_connection, **kwargs):
    """
    Takes a db_connection parameter (the database connection), as well as a 
    variable number of keyword arguments to use in the search. Returns an 
    iterator that pumps out Gist objects with all the appropriate data filled 
    in.
    """
    criteria_dict = get_criteria_dict(kwargs)
    query = get_query(criteria_dict, kwargs)
    cursor = db_connection.execute(query, kwargs)

    for row in cursor:
        yield Gist(row)
def search_gists(db_connection, **kwargs):
    db_connection.row_factory = sqlite3.Row
    query, params = build_query(**kwargs)
    results = db_connection.execute(query, params)
    for gist in results:
        yield Gist(gist)
def test_gist_model_str(clean_gists_database):
    model = Gist(GIST_DATA)
    assert str(model) == 'Gist: 18bdf248a679155f1381'
def test_gist_model_create_invalid_params(clean_gists_database):
    with pytest.raises(KeyError):
        Gist({'this-is': 'invalid'})
def test_gist_model_create(clean_gists_database):
    model = Gist(GIST_DATA)
    assert model.github_id == '18bdf248a679155f1381'
    assert model.html_url == 'https://gist.github.com/18bdf248a679155f1381'
    assert model.created_at == '2014-05-03T20:26:08Z'