Subversion Repositories SmartDukaan

Rev

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

Rev 19757 Rev 20058
Line 1340... Line 1340...
1340
    except:
1340
    except:
1341
        print "No source pricing"
1341
        print "No source pricing"
1342
    return item
1342
    return item
1343
 
1343
 
1344
def search_items(search_terms, offset, limit):
1344
def search_items(search_terms, offset, limit):
-
 
1345
    d_item = None
-
 
1346
    
1345
    query = Item.query
1347
    query = Item.query
1346
   
-
 
1347
    search_terms = ['%' + search_term + '%' for search_term in search_terms]
-
 
1348
    print search_terms
-
 
1349
   
-
 
1350
    for search_term in search_terms:
-
 
1351
        query_clause = []
-
 
1352
        query_clause.append(Item.brand.like(search_term))
-
 
1353
        query_clause.append(Item.model_number.like(search_term))
-
 
1354
        query_clause.append(Item.model_name.like(search_term))
-
 
1355
        query = query.filter(or_(*query_clause))
-
 
1356
    
1348
    
-
 
1349
    if len(search_terms) ==1:
-
 
1350
        """If length of search_term list is 1, then most probably user is trying to find items by item_id"""
-
 
1351
        try:
-
 
1352
            item_id = int(search_terms[0])
-
 
1353
            d_item = query.filter(Item.id == item_id).first()
-
 
1354
        except:
-
 
1355
            """Not item_id.Lets find search_terms in brand, model_name,...etc"""
-
 
1356
        
-
 
1357
    if d_item is None:
-
 
1358
        search_terms = ['%' + search_term + '%' for search_term in search_terms]
-
 
1359
        print search_terms
-
 
1360
       
-
 
1361
        for search_term in search_terms:
-
 
1362
            query_clause = []
-
 
1363
            query_clause.append(Item.brand.like(search_term))
-
 
1364
            query_clause.append(Item.model_number.like(search_term))
-
 
1365
            query_clause.append(Item.model_name.like(search_term))
-
 
1366
            query = query.filter(or_(*query_clause))
-
 
1367
    else:
-
 
1368
        query = query.filter(Item.catalog_item_id == d_item.catalog_item_id)
-
 
1369
        
1357
    print query
1370
    print query
1358
    query = query.order_by(Item.product_group, Item.brand, Item.model_number, Item.model_name).offset(offset)
1371
    query = query.order_by(Item.product_group, Item.brand, Item.model_number, Item.model_name).offset(offset)
1359
    if limit:
1372
    if limit:
1360
        query = query.limit(limit)
1373
        query = query.limit(limit)
1361
    items = query.all()
1374
    items = query.all()
Line 3415... Line 3428...
3415
    return itemWarrantyMap
3428
    return itemWarrantyMap
3416
 
3429
 
3417
if __name__=='__main__':
3430
if __name__=='__main__':
3418
    DataService.initialize()
3431
    DataService.initialize()
3419
    #update_bulk_prices_on_production(21053,[])
3432
    #update_bulk_prices_on_production(21053,[])
-
 
3433
    search_terms = ["1100111"]
3420
    print get_cart_by_value([1005394,46868158])
3434
    search_items(search_terms, 0, 20)
3421
    
3435
    
3422
3436