Subversion Repositories SmartDukaan

Rev

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

Rev 963 Rev 1098
Line 469... Line 469...
469
    warehouses = item.currentInventory.warehouse
469
    warehouses = item.currentInventory.warehouse
470
    return warehouses
470
    return warehouses
471
 
471
 
472
def get_best_sellers(start_index, stop_index, category=-1):
472
def get_best_sellers(start_index, stop_index, category=-1):
473
    query = get_best_sellers_query(category)
473
    query = get_best_sellers_query(category)
474
    best_sellers = query.order_by(asc(Item.bestSellingRank)).all()[start_index:stop_index]
474
    best_sellers = query.all()[start_index:stop_index]
475
    return get_thrift_item_list(best_sellers)
475
    return get_thrift_item_list(best_sellers)
476
 
476
 
477
def get_best_sellers_count(category):
477
def get_best_sellers_count(category):
478
    query = get_best_sellers_query(category)
478
    query = get_best_sellers_query(category)
479
    count = query.count()
479
    count = query.count()
480
    return count
480
    return count
481
 
481
 
482
def get_best_sellers_catalog_ids(start_index, stop_index, category=-1):
482
def get_best_sellers_catalog_ids(start_index, stop_index, category=-1):
483
    query = get_best_sellers_query(category)
483
    query = get_best_sellers_query(category)
484
    best_sellers = query.order_by(asc(Item.bestSellingRank)).all()[start_index:stop_index]
484
    best_sellers = query.all()[start_index:stop_index]
485
    return [item.catalog_item_id for item in best_sellers]
485
    return [item.catalog_item_id for item in best_sellers]
486
    
486
    
487
def get_best_sellers_query(category):
487
def get_best_sellers_query(category):
488
    query = Item.query.filter(Item.bestSellingRank != None)
488
    query = Item.query.filter_by(status=status.ACTIVE).filter(Item.bestSellingRank != None)
489
    if category != -1:
489
    if category != -1:
490
        query = query.filter_by(category=category)
490
        query = query.filter_by(category=category)
-
 
491
    query = query.order_by(asc(Item.bestSellingRank))
491
    return query
492
    return query
492
 
493
 
493
def get_best_deals():
494
def get_best_deals(category=-1):
494
    items = Item.query.filter(Item.bestDealValue != None).group_by(Item.catalog_item_id).order_by(desc(Item.bestDealValue)).all()
495
    query = get_best_deals_query(category)
-
 
496
    items = query.all()
495
    return get_thrift_item_list(items)
497
    return get_thrift_item_list(items)
496
 
498
 
497
def get_best_deals_count():
499
def get_best_deals_count(category=-1):
498
    count = Item.query.filter(Item.bestDealValue != None).group_by(Item.catalog_item_id).count()
500
    query = get_best_deals_query(category)
-
 
501
    count = query.count()
499
    return count
502
    return count
500
    
503
    
501
def get_best_deals_catalog_ids(start_index, stop_index, category=-1):
504
def get_best_deals_catalog_ids(start_index, stop_index, category=-1):
-
 
505
    query = get_best_deals_query(category)
-
 
506
    best_deal_items = query.all()[start_index:stop_index]
-
 
507
    return [item.catalog_item_id for item in best_deal_items]
-
 
508
 
-
 
509
def get_best_deals_query(category):
502
    query = Item.query.filter(Item.bestDealValue != None)
510
    query = Item.query.filter_by(status=status.ACTIVE).filter(Item.bestDealValue != None)
503
    if category != -1:
511
    if category != -1:
504
        query = query.filter_by(category=category)
512
        query = query.filter_by(category=category)
505
    best_deal_items = query.group_by(Item.catalog_item_id).order_by(desc(Item.bestDealValue)).all()[start_index:stop_index]
513
    query = query.group_by(Item.catalog_item_id).order_by(desc(Item.bestDealValue))
506
    return [item.catalog_item_id for item in best_deal_items]
514
    return query
507
 
515
 
508
def get_latest_arrivals(limit):
516
def get_latest_arrivals(limit, category=-1):
-
 
517
    query = get_latest_arrivals_query(category)
509
    items = Item.query.group_by(Item.catalog_item_id).order_by(desc(Item.startDate)).all()[0:limit]
518
    items = query.all()[0:limit]
510
    return get_thrift_item_list(items)
519
    return get_thrift_item_list(items)
511
    
520
    
512
def get_latest_arrivals_count(limit):
521
def get_latest_arrivals_count(limit, category=-1):
-
 
522
    query = get_latest_arrivals_query(category)
513
    #FIXME: This method has not been functionally tested. Have to talk to Rajveer to check where is it used.
523
    #FIXME: This method has not been functionally tested. Have to talk to Rajveer to check where is it used.
514
    count = min(Item.query.count(), limit)
524
    count = min(query.count(), limit)
515
    return count
525
    return count
516
    
526
    
517
def get_latest_arrivals_catalog_ids(start_index, stop_index, category=-1):
527
def get_latest_arrivals_catalog_ids(start_index, stop_index, category=-1):
518
    query = Item.query
528
    query = get_latest_arrivals_query(category)
-
 
529
    latest_arrivals = query.all()[start_index:stop_index]
-
 
530
    return [item.catalog_item_id for item in latest_arrivals]
-
 
531
 
-
 
532
def get_latest_arrivals_query(category):
-
 
533
    query = Item.query.filter_by(status=status.ACTIVE)
519
    if category != -1:
534
    if category != -1:
520
        query = query.filter_by(category=category)
535
        query = query.filter_by(category=category)
521
    latest_arrivals = query.group_by(Item.catalog_item_id).order_by(desc(Item.startDate)).all()[start_index:stop_index]
536
    query = query.group_by(Item.catalog_item_id).order_by(desc(Item.startDate))
522
    return [item.catalog_item_id for item in latest_arrivals]
537
    return query
523
 
538
 
524
def get_thrift_item_list(items):
539
def get_thrift_item_list(items):
525
    ret_items = []
-
 
526
    for item in items:
-
 
527
        if item:
-
 
528
            ret_items.append(to_t_item(item))    
540
    return [to_t_item(item) for item in items if item != None]
529
    return ret_items
-
 
530
 
541
 
531
def put_category_object(object):
542
def put_category_object(object):
532
    category = Category.get_by(id=1)
543
    category = Category.get_by(id=1)
533
    if category is None:
544
    if category is None:
534
        category = Category()
545
        category = Category()