Subversion Repositories SmartDukaan

Rev

Rev 759 | Rev 785 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 759 Rev 766
Line 20... Line 20...
20
    DataService.initialize()
20
    DataService.initialize()
21
    
21
    
22
 
22
 
23
def get_all_items(is_active):
23
def get_all_items(is_active):
24
    if is_active:
24
    if is_active:
25
        return Item.query.filter_by(status= status.ACTIVE).all()
25
        items = Item.query.filter_by(status= status.ACTIVE).all()
26
    else:
26
    else:
27
        return Item.query.all()
27
        items = Item.query.all()
-
 
28
    return items
28
    
29
 
29
def get_all_items_by_status(status):
30
def get_all_items_by_status(status):
30
    if not status:
31
    if not status:
31
        #return all items
32
        #return all items
32
        return get_all_items(False)
33
        items = get_all_items(False)
33
    else:
34
    else:
34
        return Item.query.filter_by(status=status).all()
35
        items = Item.query.filter_by(status=status).all()
-
 
36
    return items
35
 
37
 
36
def get_item(item_id):
38
def get_item(item_id):
37
    return Item.get_by(id=item_id)
39
    item = Item.get_by(id=item_id)
-
 
40
    return item
38
 
41
 
39
def get_items_by_catalog_id(catalog_id):
42
def get_items_by_catalog_id(catalog_id):
40
    query = Item.query.filter_by(catalog_item_id=catalog_id)
43
    query = Item.query.filter_by(catalog_item_id=catalog_id)
41
    try:
44
    try:
42
        items = query.all()
45
        items = query.all()
Line 62... Line 65...
62
def get_Warehouse(warehouse_id):
65
def get_Warehouse(warehouse_id):
63
    return Warehouse.get_by(id=warehouse_id)
66
    return Warehouse.get_by(id=warehouse_id)
64
 
67
 
65
def get_all_warehouses_by_status(status):
68
def get_all_warehouses_by_status(status):
66
    if not status:
69
    if not status:
67
        return Warehouse.query.all()
70
        warehouses = Warehouse.query.all()
68
    else:
71
    else:
69
        return Warehouse.query.filter_by(status=status)
72
        warehouses = Warehouse.query.filter_by(status=status)
70
 
73
 
71
def get_all_warehouses_for_item(item_id):
74
def get_all_warehouses_for_item(item_id):
72
    item = get_item(item_id)
75
    item = get_item(item_id)
73
    if not item:
76
    if not item:
74
        raise InventoryServiceException(108, "Some unforeseen error while obtaining item")
77
        raise InventoryServiceException(108, "Some unforeseen error while obtaining item")
Line 353... Line 356...
353
    if not warehouse:
356
    if not warehouse:
354
        raise InventoryServiceException(108, "warehouse does not exist")
357
        raise InventoryServiceException(108, "warehouse does not exist")
355
    item = get_item(item_id)
358
    item = get_item(item_id)
356
 
359
 
357
    if not item:
360
    if not item:
358
            raise InventoryServiceException(108, "item does not exist")
361
        raise InventoryServiceException(108, "item does not exist")
359
        
362
        
360
    query = CurrentInventorySnapshot.query.filter_by(warehouse_id = warehouse_id)
363
    query = CurrentInventorySnapshot.query.filter_by(warehouse_id = warehouse_id)
361
    query = query.filter_by(item_id = item.id)
364
    query = query.filter_by(item_id = item.id)
362
    try:
365
    try:
363
        current_inventory_snapshot = query.one()
366
        current_inventory_snapshot = query.one()
Line 428... Line 431...
428
    best_sellers = query.order_by(asc(Item.bestSellingRank)).all()[start_index:stop_index]
431
    best_sellers = query.order_by(asc(Item.bestSellingRank)).all()[start_index:stop_index]
429
    return get_thrift_item_list(best_sellers)
432
    return get_thrift_item_list(best_sellers)
430
 
433
 
431
def get_best_sellers_count(category):
434
def get_best_sellers_count(category):
432
    query = get_best_sellers_query(category)
435
    query = get_best_sellers_query(category)
433
    return query.count()
436
    count = query.count()
-
 
437
    return count
434
 
438
 
435
def get_best_sellers_catalog_ids(start_index, stop_index, category=-1):
439
def get_best_sellers_catalog_ids(start_index, stop_index, category=-1):
436
    query = get_best_sellers_query(category)
440
    query = get_best_sellers_query(category)
437
    best_sellers = query.order_by(asc(Item.bestSellingRank)).all()[start_index:stop_index]
441
    best_sellers = query.order_by(asc(Item.bestSellingRank)).all()[start_index:stop_index]
438
    return [item.catalog_item_id for item in best_sellers]
442
    return [item.catalog_item_id for item in best_sellers]
Line 446... Line 450...
446
def get_best_deals():
450
def get_best_deals():
447
    items = Item.query.filter(Item.bestDealValue != None).order_by(desc(Item.bestDealValue)).all()
451
    items = Item.query.filter(Item.bestDealValue != None).order_by(desc(Item.bestDealValue)).all()
448
    return get_thrift_item_list(items)
452
    return get_thrift_item_list(items)
449
 
453
 
450
def get_best_deals_count():
454
def get_best_deals_count():
451
    return Item.query.filter(Item.bestDealValue != None).count()
455
    count = Item.query.filter(Item.bestDealValue != None).count()
-
 
456
    return count
452
    
457
    
453
def get_best_deals_catalog_ids(start_index, stop_index, category=-1):
458
def get_best_deals_catalog_ids(start_index, stop_index, category=-1):
454
    query = Item.query.filter(Item.bestDealValue != None)
459
    query = Item.query.filter(Item.bestDealValue != None)
455
    if category != -1:
460
    if category != -1:
456
        query = query.filter_by(category=category)
461
        query = query.filter_by(category=category)
Line 461... Line 466...
461
    items = Item.query.order_by(desc(Item.startDate)).all()[0:limit]
466
    items = Item.query.order_by(desc(Item.startDate)).all()[0:limit]
462
    return get_thrift_item_list(items)
467
    return get_thrift_item_list(items)
463
    
468
    
464
def get_latest_arrivals_count(limit):
469
def get_latest_arrivals_count(limit):
465
    #FIXME: This method has not been functionally tested. Have to talk to Rajveer to check where is it used.
470
    #FIXME: This method has not been functionally tested. Have to talk to Rajveer to check where is it used.
466
    return min(Item.query.count(), limit)
471
    count = min(Item.query.count(), limit)
-
 
472
    return count
467
    
473
    
468
def get_latest_arrivals_catalog_ids(start_index, stop_index, category=-1):
474
def get_latest_arrivals_catalog_ids(start_index, stop_index, category=-1):
469
    query = Item.query
475
    query = Item.query
470
    if category != -1:
476
    if category != -1:
471
        query = query.filter_by(category=category)
477
        query = query.filter_by(category=category)
Line 486... Line 492...
486
    category.object = object    
492
    category.object = object    
487
    session.commit()
493
    session.commit()
488
    return True
494
    return True
489
 
495
 
490
def get_category_object():
496
def get_category_object():
491
    return Category.get_by(id=1).object
-
 
492
497
    object = Category.get_by(id=1).object
-
 
498
    return object
-
 
499
 
-
 
500
def close_session():
-
 
501
    if session.is_active:
-
 
502
        print "session is active. closing it."
-
 
503
        session.close()
-
 
504
493
505