Exemplo n.º 1
0
def add_products(objs, batch_size=50):
    """
    Add a set of products
    """
    with ModelDB() as db:
        for b in _batch(objs, batch_size):
            db.session.bulk_save_objects(b)
Exemplo n.º 2
0
def update_product(asin, key, value):
    """
    Update a given product.
    """
    with ModelDB() as db:
        db.session.query(Product).filter(Product.asin == asin).\
            update({key: json.dumps(value)})
Exemplo n.º 3
0
def add_reviewusers(objs, batch_size=50):
    """
    Add a set of users.
    """
    with ModelDB() as db:
        for b in _batch(objs, batch_size):
            db.session.bulk_save_objects(b)
Exemplo n.º 4
0
def product_exists(asin):
    """
    Return if a product is present in the database.
    """
    with ModelDB() as db:
        query = db.session.query(Product).filter(Product.asin == asin)
        ans = db.session.query(query.exists()).all().pop()[0]
    return ans
Exemplo n.º 5
0
def get_all_ids():
    """
    Get all product IDs in the database.
    """
    with ModelDB() as db:
        query = db.session.query(Product.asin)
        result = query.all()
    return [r[0] for r in result]
Exemplo n.º 6
0
def get_user_set(count):
    """
    Get a certain number of users.
    """
    with ModelDB() as db:
        query = db.session.query(ReviewUser.id).limit(count)
        result = query.all()
    return [r[0] for r in result]
Exemplo n.º 7
0
def user_exists(user):
    """
    Check if a user exists.
    """
    with ModelDB() as db:
        query = db.session.query(ReviewUser).filter(ReviewUser.id == user)
        ans = db.session.query(query.exists()).all().pop()[0]
    return ans
Exemplo n.º 8
0
def get_reviewusers(ids):
    """
    Get a set of review users.
    """
    with ModelDB() as db:
        result = db.session.query(ReviewUser).filter(
            ReviewUser.id.in_(ids)).all()
    return result
Exemplo n.º 9
0
def get_products(ids):
    """
    Get a set of products
    """
    with ModelDB() as db:
        result = db.session.query(Product).filter(Product.asin.in_(ids)).all()
    for r in result:
        r.convert_json()
    return result
Exemplo n.º 10
0
def search_products(query_str):
    """
    Return all products that match the
    given query string.
    """
    with ModelDB() as db:
        query = db.session.query(Product).filter(
            or_(Product.title.like(query_str), Product.brand.like(query_str)))
        result = query.all()
    for _, val in enumerate(result):
        val.convert_json()
    return result
Exemplo n.º 11
0
 def test_database(self):
     assert_that(ModelDB(), is_not(raises(Exception)))
     with ModelDB() as _:
         pass
Exemplo n.º 12
0
 def wrapper(*args, **kwargs):
     with ModelDB() as db:
         if "product" not in db.inspector.get_table_names():
             Base.metadata.create_all(db._engine)
     return func(*args, **kwargs)