Subversion Repositories SmartDukaan

Rev

Rev 9621 | Rev 9776 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
122 ashish 1
'''
2
Created on 27-Apr-2010
3
 
4
@author: ashish
5
'''
5110 mandeep.dh 6
from shop2020.config.client.ConfigClient import ConfigClient
6511 kshitij.so 7
from shop2020.model.v1.catalog.impl.Convertors import to_t_item, to_t_category, \
8
    to_t_source_item_pricing, to_t_product_notification_request, \
6848 kshitij.so 9
    to_t_product_notification_request_count, to_t_voucher_item_mapping, to_t_insurer, \
7438 amit.gupta 10
    to_t_banner, to_t_banner_map, to_t_product_notification_request_count, \
8579 kshitij.so 11
    to_t_voucher_item_mapping, to_t_insurer, to_t_Amazonlisted, to_t_ebay_item, \
9621 manish.sha 12
    to_t_uri_mapping, to_t_banner_list, to_t_campaign,to_t_snapdeal_item, \
9724 kshitij.so 13
    to_t_snapdeal_item_details, to_t_product_feed_submit, to_t_marketplace_items
6511 kshitij.so 14
from shop2020.model.v1.catalog.impl.DataAcessors import add_item, retire_item, \
15
    change_item_status, get_item, get_all_items, get_all_items_by_status, \
5944 mandeep.dh 16
    update_item, start_item_on, close_session, retire_item_on, \
5110 mandeep.dh 17
    get_items_by_catalog_id, get_best_deals, get_best_deals_catalog_ids, \
18
    get_best_deals_count, get_best_sellers, get_latest_arrivals, \
19
    get_latest_arrivals_catalog_ids, get_latest_arrivals_count, is_active, \
20
    get_best_sellers_catalog_ids, get_best_sellers_count, put_category_object, \
5944 mandeep.dh 21
    get_category_object, mark_item_as_content_complete, generate_new_entity_id, \
22
    get_category, get_all_categories, add_category, get_item_status_description, \
6511 kshitij.so 23
    check_similar_item, change_risky_flag, get_items_for_mastersheet, \
24
    get_risky_items, get_similar_items_catalog_ids, add_product_notification, \
25
    send_product_notifications, get_all_brands_by_category, is_alive, \
26
    get_item_pricing_by_source, add_source_item_pricing, get_all_sources, \
27
    get_item_for_source, get_all_source_pricing, get_item_count_by_status, \
28
    search_items, get_search_result_count, get_product_notifications, \
29
    get_product_notification_request_count, get_all_similar_items_catalog_ids, \
30
    add_similar_item_catalog_id, delete_similar_item_catalog_id, \
31
    add_authorization_log_for_item, get_thrift_item_list, get_all_brands, \
32
    get_coming_soon, get_coming_soon_catalog_ids, get_coming_soon_count, initialize, \
7438 amit.gupta 33
    add_update_voucher_for_item, delete_voucher_for_item, get_voucher_amount, \
34
    get_all_vouchers_for_item, is_valid_catalog_id, check_risky_item, \
35
    get_vat_percentage_for_item, get_vat_amount_for_item, add_tag, get_all_tags, \
36
    get_all_entities_by_tag_name, delete_tag, delete_entity_tag, \
37
    get_all_ignored_inventoryupdate_items_list, add_banner, get_all_banners, \
38
    delete_banner, get_banner_details, get_active_banners, add_banner_map, \
39
    delete_banner_map, get_banner_map_details, get_insurance_amount, get_insurer, \
40
    get_all_alive_items, get_all_insurers, get_all_entity_tags, \
41
    update_insurance_declared_amount, get_freebie_for_item, \
42
    add_or_update_freebie_for_item, get_all_amazon_listed_items, get_store_pricing, \
43
    update_store_pricing, get_amazon_item_details, update_amazon_item_details, \
44
    add_amazon_item, get_asin_items, get_all_fba_listed_items, \
45
    get_all_nonfba_listed_items, add_or_update_brand_info, get_brand_info, \
7897 amar.kumar 46
    get_items_status, update_item_inventory, update_timestamp_for_amazon_feeds, \
8182 amar.kumar 47
    get_all_parent_categories,add_page_view_event,add_cart_event, \
8379 vikram.rag 48
    insert_ebay_item, get_ebay_item, update_ebay_item, update_amazon_attributes_in_bulk, \
8579 kshitij.so 49
    get_all_items_to_list_on_fba,get_all_items_to_list_on_nonfba, \
50
    update_banner,add_banner_uri,get_uri_mapping,add_campaign,get_campaigns, \
8619 kshitij.so 51
    delete_campaign, get_all_campaigns, get_amazon_listed_items, search_amazon_items, \
8739 vikram.rag 52
    get_count_for_amazonlisted_items, get_amazon_search_result_count,update_asin, \
9242 kshitij.so 53
    add_or_update_snapdeal_item, get_snapdeal_item, get_all_snapdeal_items , get_snapdeal_items, \
54
    search_snapdeal_items , get_count_for_snapdeal_items , get_snapdeal_search_result_count, \
9621 manish.sha 55
    get_active_banners_for_mobile_site, get_preffered_insurer_for_item, get_snapdealitem_by_skuatsnapdeal, \
56
    get_product_feed_submit, add_product_feed_submit, update_product_feed_submit, \
9724 kshitij.so 57
    delete_product_feed_submit, get_all_product_feed_submit, get_snapdeal_item_detail,\
58
    get_marketplace_details_for_item, update_marketplace_attributes_for_item
5944 mandeep.dh 59
from shop2020.thriftpy.model.v1.catalog.ttypes import status
60
from shop2020.utils.Utils import log_entry, to_py_date
5110 mandeep.dh 61
import datetime
122 ashish 62
 
5944 mandeep.dh 63
class CatalogServiceHandler:
122 ashish 64
    '''
65
    classdocs
66
    '''
599 chandransh 67
 
3187 rajveer 68
    def __init__(self, dbname='catalog', db_hostname='localhost'):
122 ashish 69
        '''
70
        Constructor
71
        '''
5295 rajveer 72
        initialize(dbname, db_hostname)
599 chandransh 73
        try:
621 chandransh 74
            config_client = ConfigClient()
75
            self.latest_arrivals_limit = int(config_client.get_property("LATEST_ARRIVALS_LIMIT"));
76
            self.best_sellers_limit = int(config_client.get_property("BEST_SELLERS_LIMIT"))
599 chandransh 77
        except:
621 chandransh 78
            self.latest_arrivals_limit = 50
79
            self.best_sellers_limit = 50
122 ashish 80
 
81
    #DONE
82
    def addItem(self, item):
83
        """
84
        Availability and inventory attributes
85
 
86
        Parameters:
87
         - item
88
        """
89
        log_entry(self, "addItem called")
785 rajveer 90
        try:
91
            return add_item(item)
92
        finally:
93
            close_session()
6511 kshitij.so 94
 
95
 
96
    def addTag(self, displayName, catalogId):
97
        result = False
98
        try:
99
            return add_tag(displayName, catalogId)
100
        except:
101
            result = True
102
        finally:
103
            close_session()
104
            return result
6848 kshitij.so 105
 
8590 kshitij.so 106
    def addBanner(self, bannerCongregate):
6848 kshitij.so 107
        try:
8590 kshitij.so 108
            add_banner(bannerCongregate)
6848 kshitij.so 109
        finally:
110
            close_session()
111
 
112
    def getAllBanners(self):
8579 kshitij.so 113
        bannerList=[]
6848 kshitij.so 114
        try:
8579 kshitij.so 115
            for banner in get_all_banners():
116
                bannerList.append(to_t_banner(banner))
6848 kshitij.so 117
        finally:
118
            close_session()
8579 kshitij.so 119
            return bannerList
6848 kshitij.so 120
 
9155 kshitij.so 121
    def deleteBanner(self,name,bannerType):
6848 kshitij.so 122
        try:
9155 kshitij.so 123
            return delete_banner(name,bannerType)
6848 kshitij.so 124
        finally:
125
            close_session()
126
 
9155 kshitij.so 127
    def getBannerDetails(self,name,bannerType):
6848 kshitij.so 128
        result = None
129
        try:
9155 kshitij.so 130
            result = get_banner_details(name,bannerType)
6848 kshitij.so 131
            if result is not None:
132
                result = to_t_banner(result)
133
        finally:
134
            close_session()
135
            return result
136
 
137
    def getActiveBanners(self):
138
        try:
8579 kshitij.so 139
            active_banners = get_active_banners()
140
            for bannerName,banners in active_banners.iteritems():
141
                active_banners[bannerName] = to_t_banner_list(banners)
6848 kshitij.so 142
        finally:
143
            close_session()
8579 kshitij.so 144
            return active_banners
145
 
146
    def addBannerMap(self, bannerMaps):
6848 kshitij.so 147
        try:
8579 kshitij.so 148
            return add_banner_map(bannerMaps)
6848 kshitij.so 149
        finally:
150
            close_session()
151
 
152
    def deleteBannerMap(self, name):
153
        try:
154
            return delete_banner_map(name)
155
        finally:
156
            close_session()
157
 
9155 kshitij.so 158
    def getBannerMapDetails(self,name,bannerType):
6848 kshitij.so 159
        banners=[]
160
        try:
9155 kshitij.so 161
            for result in get_banner_map_details(name,bannerType):
6848 kshitij.so 162
                if result is not None:
8579 kshitij.so 163
                    banners.append(to_t_banner_map(result))
6848 kshitij.so 164
        finally:
165
            close_session()
166
            return banners
8579 kshitij.so 167
    def updateBanner(self,banner):
168
        try:
169
            return update_banner(banner)
170
        finally:
171
            close_session()
172
 
173
    def addBannerUri(self,bannerUriMappings):
174
        try:
175
            add_banner_uri(bannerUriMappings)
176
        finally:
177
            close_session()
178
 
9155 kshitij.so 179
    def getUriMapping(self,bannerName,bannerType):
8579 kshitij.so 180
        uriMapping=[]
181
        try:
9155 kshitij.so 182
            for uri in get_uri_mapping(bannerName,bannerType):
8579 kshitij.so 183
                uriMapping.append(to_t_uri_mapping(uri))
184
        finally:
185
            close_session()
186
            return uriMapping
187
 
188
    def addCampaign(self,campaign):
189
        try:
190
            add_campaign(campaign)
191
        finally:
192
            close_session()
193
 
194
    def getCampaigns(self,campaignName):
195
        campaigns = []
196
        try:
197
            for campaign in get_campaigns(campaignName):
198
                campaigns.append(to_t_campaign(campaign))
199
        finally:
200
            close_session()
201
            return campaigns
202
 
203
    def deleteCampaign(self,campaignId):
204
        try:
205
            delete_campaign(campaignId)
206
        finally:
207
            close_session()
6848 kshitij.so 208
 
8579 kshitij.so 209
    def getAllCampaigns(self):
210
        campaigns = []
211
        try:
212
            for campaign in get_all_campaigns():
213
                campaigns.append(campaign[0])
214
        finally:
215
            close_session()
216
            return campaigns
6848 kshitij.so 217
 
9155 kshitij.so 218
    def getActiveBannersForMobileSite(self):
219
        try:
220
            active_banners = get_active_banners_for_mobile_site()
221
            for bannerName,banners in active_banners.iteritems():
222
                active_banners[bannerName] = to_t_banner_list(banners)
223
        finally:
224
            close_session()
225
            return active_banners
226
 
6511 kshitij.so 227
 
228
    def getAllTags(self):
229
        result = []
230
        try:
231
            result = get_all_tags()
232
        except:
233
            result = True
234
        finally:
235
            close_session()
236
            return result
237
 
238
    def getAllEntitiesByTagName(self,displayName):
239
        result = []
240
        try:
241
            result = get_all_entities_by_tag_name(displayName)
242
        except:
243
            result = True
244
        finally:
245
            close_session()
246
            return result
247
 
248
    def deleteTag(self,displayName):
249
        result = False
250
        try:
251
            return delete_tag(displayName)
252
        except:
253
            result = True
254
        finally:
255
            close_session()
256
            return result
257
 
6518 kshitij.so 258
    def deleteEntityTag(self,displayName,catalogId):
259
        result = False
260
        try:
261
            return delete_entity_tag(displayName,catalogId)
262
        except:
263
            result = True
264
        finally:
265
            close_session()
266
            return result
267
 
635 rajveer 268
    def isActive(self, item_id):
563 chandransh 269
        """
270
        Parameters:
635 rajveer 271
         - item_id
563 chandransh 272
        """
785 rajveer 273
        try:
274
            return is_active(item_id)
275
        finally:
276
            close_session()
7438 amit.gupta 277
 
278
    def getItemsStatus(self, item_ids):
279
        """
280
        Parameters:
281
         - item_id
282
        """
283
        try:
284
            return get_items_status(item_ids)
285
        finally:
286
            close_session()
122 ashish 287
 
2035 rajveer 288
    def getItemStatusDescription(self, itemId):
289
        """
290
        Parameters:
291
         - itemId
292
        """
293
        try:
294
            return get_item_status_description(itemId)
295
        finally:
296
            close_session()
122 ashish 297
 
298
    def retireItem(self, item_id):
299
        """
300
        Parameters:
301
        - item_id
302
        """
303
        log_entry(self, "retire item called")
785 rajveer 304
        try:
305
            return retire_item(item_id)
306
        finally:
307
            close_session()
122 ashish 308
 
309
    def startItemOn(self, item_id, timestamp):
310
        """
311
        Parameters:
312
         - item_id
313
         - timestamp
314
        """
785 rajveer 315
        try:
316
            start_item_on(item_id, timestamp)
317
        finally:
318
            close_session()
122 ashish 319
 
320
    def retireItemOn(self, item_id, timestamp):
321
        """
322
        Parameters:
323
         - item_id
324
         - timestamp
325
        """
785 rajveer 326
        try:
327
            retire_item_on(item_id, timestamp)
328
        finally:
329
            close_session()
122 ashish 330
 
331
    def changeItemStatus(self, item_id, timestamp, newstatus):
332
        """
333
        Parameters:
334
         - item_id
335
         - timestamp
336
         - newstatus
337
        """
338
        log_entry(self, "change item status called")
785 rajveer 339
        try:
340
            return change_item_status(item_id, newstatus)
341
        finally:
342
            close_session()
122 ashish 343
 
785 rajveer 344
 
122 ashish 345
    def getItem(self, item_id):
346
        """
347
        Parameters:
348
         - item_id
349
        """
350
        log_entry(self, "item requested")
785 rajveer 351
        try:
2065 ankur.sing 352
            item = to_t_item( get_item(item_id))
353
            return item
785 rajveer 354
        finally:
355
            close_session()
379 ashish 356
 
635 rajveer 357
    def getItemsByCatalogId(self, catalog_item_id):
379 ashish 358
        """
359
        Parameters:
360
        - catalog_item_id
361
        """
386 ashish 362
        log_entry(self, "item requested")
766 rajveer 363
        try:
4934 amit.gupta 364
            return get_thrift_item_list(get_items_by_catalog_id(catalog_item_id))
766 rajveer 365
        finally:
366
            close_session()
122 ashish 367
 
4934 amit.gupta 368
    def getValidItemsByCatalogId(self, catalog_item_id):
369
        """
370
        Parameters:
371
         - catalog_item_id
372
        """
373
        log_entry(self, "items requested for CatalogItem")
374
        try:
375
            return get_thrift_item_list(filter(is_valid, get_items_by_catalog_id(catalog_item_id)))
376
        finally:
377
            close_session()
378
 
5586 phani.kuma 379
    def isValidCatalogItemId(self, catalog_item_id):
380
        """
381
        Parameters:
382
         - catalog_item_id
383
        """
384
        try:
385
            return is_valid_catalog_id(catalog_item_id)
386
        finally:
387
            close_session()
388
 
122 ashish 389
    def getAllItems(self, isActive):
390
        """
391
        Parameters:
392
         - isActive
393
        """
394
        log_entry(self, "all items requested")
766 rajveer 395
        try:
396
            items = get_all_items(isActive)
397
            ret_items = []
398
            for item in items:
399
                if item:
400
                    ret_items.append(to_t_item(item))
401
            return ret_items
402
        finally:
403
            close_session()
404
 
122 ashish 405
    def getAllItemsByStatus(self, itemStatus):
406
        """
407
        Parameters:
408
         - itemStatus
409
        """
410
        log_entry(self, "all items requested")
766 rajveer 411
        try:
412
            items = get_all_items_by_status(itemStatus)
413
            ret_items = []
414
            for item in items:
415
                if item:
416
                    ret_items.append(to_t_item(item))
417
            return ret_items
418
        finally:
419
            close_session()
6821 amar.kumar 420
 
421
    def getAllAliveItems(self):
422
        """
423
        Parameters:
424
         - itemStatus
425
        """
426
        log_entry(self, "all non phased non deleted items requested")
427
        try:
428
            items = get_all_alive_items()
429
            ret_items = []
430
            for item in items:
431
                if item:
432
                    ret_items.append(to_t_item(item))
433
            return ret_items
434
        finally:
435
            close_session()
436
 
122 ashish 437
 
3348 varun.gupt 438
    def getAllBrandsByCategory(self, categoryId):
439
        """
440
        Parameters:
441
         - categoryId
442
        """
443
        try:
444
            return get_all_brands_by_category(categoryId)
445
        finally:
446
            close_session()
447
 
4957 phani.kuma 448
    def getAllBrands(self):
449
        try:
450
            return get_all_brands()
451
        finally:
452
            close_session()
5944 mandeep.dh 453
 
3849 chandransh 454
    def getAllItemsInRange(self, offset, limit):
455
        """
456
        Gets at most 'limit' items starting at the given offset. Returns an empty list if there are no more items at the given offset.
457
 
458
        Parameters:
459
         - offset
460
         - limit
461
        """
462
        try:
463
            items = get_all_items(False, offset, limit)
464
            return [to_t_item(item) for item in items]
465
        finally:
466
            close_session()
379 ashish 467
 
3849 chandransh 468
    def getAllItemsByStatusInRange(self, itemStatus, offset, limit):
469
        """
470
        Gets at most 'limit' items starting at the given offset in the given status. Returns an empty list if there are no more items at the given offset.
471
 
472
        Parameters:
473
         - itemStatus
474
         - offset
475
         - limit
476
        """
477
        log_entry(self, "all items requested")
478
        try:
479
            items = get_all_items_by_status(itemStatus, offset, limit)
480
            return [to_t_item(item) for item in items]
481
        finally:
482
            close_session()
483
 
484
    def getItemCountByStatus(self, useStatus, itemStatus):
485
        """
486
        Gets a count of all items by status
487
 
488
        Parameters:
489
         - useStatus
490
         - itemStatus
491
        """
492
        try:
493
            return get_item_count_by_status(useStatus, itemStatus)
494
        finally:
495
            close_session()
496
 
9253 rajveer 497
    def markItemAsContentComplete(self, entityId, category, brand, modelName, modelNumber, isAndroid):
2080 rajveer 498
        """
499
        Parameters:
500
         - entityId
501
         - category
502
         - brand
503
         - modelName
504
         - modelNumber
9253 rajveer 505
         - isAndroid
2080 rajveer 506
        """
507
        try:
9253 rajveer 508
            return mark_item_as_content_complete(entityId, category, brand, modelName, modelNumber, isAndroid)
2080 rajveer 509
        finally:
510
            close_session()
766 rajveer 511
 
122 ashish 512
    def updateItem(self, item):
513
        """
514
        Parameters:
515
         - item
516
        """
517
        log_entry(self, "addItem called")
766 rajveer 518
        try:
519
            return update_item(item)
520
        finally:
521
            close_session()
522
 
626 chandransh 523
    def getBestSellers(self, start_index=0, total_items=None, category=-1):
766 rajveer 524
        try:
525
            if total_items is None:
526
                total_items = self.best_sellers_limit
527
            stop_index = start_index + total_items
528
            return get_best_sellers(start_index, stop_index, category)
529
        finally:
530
            close_session()
531
 
1926 rajveer 532
    def getBestSellersCatalogIds(self, start_index, total_items, brand, category=-1):
548 rajveer 533
        """
534
        Parameters:
535
         - beginIndex
536
         - totalItems
537
        """
766 rajveer 538
        try:
539
            if total_items is None:
540
                total_items = self.best_sellers_limit
541
            stop_index = start_index + total_items
1926 rajveer 542
            return get_best_sellers_catalog_ids(start_index, stop_index, brand, category)
766 rajveer 543
        finally:
544
            close_session()
545
 
591 chandransh 546
    def getBestSellersCount(self, ):
766 rajveer 547
        try:
2093 chandransh 548
            return get_best_sellers_count()
766 rajveer 549
        finally:
550
            close_session()
551
 
591 chandransh 552
    def getBestDeals(self,):
766 rajveer 553
        try:
554
            return get_best_deals()
555
        finally:
556
            close_session()
557
 
1926 rajveer 558
    def getBestDealsCatalogIds(self, start_index, total_items, brand,category=-1):
548 rajveer 559
        """
560
        Parameters:
561
         - beginIndex
562
         - totalItems
563
        """
766 rajveer 564
        try:
565
            stop_index = start_index + total_items
1926 rajveer 566
            return get_best_deals_catalog_ids(start_index, stop_index, brand, category)
766 rajveer 567
        finally:
568
            close_session()
569
 
591 chandransh 570
    def getBestDealsCount(self, ):
766 rajveer 571
        try:
572
            return get_best_deals_count()
573
        finally:
574
            close_session()
575
 
5217 amit.gupta 576
    def getComingSoon(self,):
577
        try:
578
            return get_coming_soon()
579
        finally:
580
            close_session()
581
 
582
    def getComingSoonCatalogIds(self, start_index, total_items, brand,category=-1):
583
        """
584
        Parameters:
585
         - beginIndex
586
         - totalItems
587
        """
588
        try:
589
            stop_index = start_index + total_items
590
            return get_coming_soon_catalog_ids(start_index, stop_index, brand, category)
591
        finally:
592
            close_session()
593
 
594
    def getComingSoonCount(self, ):
595
        try:
596
            return get_coming_soon_count()
597
        finally:
598
            close_session()
599
 
591 chandransh 600
    def getLatestArrivals(self,):
766 rajveer 601
        try:
602
            return get_latest_arrivals(self.latest_arrivals_limit)
603
        finally:
604
            close_session()
2975 chandransh 605
 
606
    def getLatestArrivalsCatalogIds(self, beginIndex, totalItems, brand, categories):
548 rajveer 607
        """
2975 chandransh 608
        Returns the list of catalog ids of latest arrivals in the given categories of the given brand.
609
        To ignore the categories, pass the list as empty. To ignore brand, pass it as null.
610
 
548 rajveer 611
        Parameters:
612
         - beginIndex
613
         - totalItems
2975 chandransh 614
         - brand
615
         - categories
548 rajveer 616
        """
766 rajveer 617
        try:
2975 chandransh 618
            if beginIndex > self.latest_arrivals_limit:
766 rajveer 619
                return []
2975 chandransh 620
            stopIndex = beginIndex + totalItems
621
            if stopIndex > self.latest_arrivals_limit:
622
                stopIndex = self.latest_arrivals_limit
623
            return get_latest_arrivals_catalog_ids(beginIndex, stopIndex, brand, categories)
766 rajveer 624
        finally:
625
            close_session()
626
 
591 chandransh 627
    def getLatestArrivalsCount(self, ):
766 rajveer 628
        try:
629
            return get_latest_arrivals_count(self.latest_arrivals_limit)
630
        finally:
631
            close_session()
591 chandransh 632
 
1155 rajveer 633
    def generateNewEntityID(self, ):
634
        try:
635
            return generate_new_entity_id()
636
        finally:
637
            close_session()
638
 
635 rajveer 639
    def putCategoryObject(self, object):
640
        """
641
        Parameters:
642
         - object
643
        """
766 rajveer 644
        try:
645
            return put_category_object(object)
646
        finally:
647
            close_session()
648
 
635 rajveer 649
    def getCategoryObject(self, ):
766 rajveer 650
        try:
651
            return get_category_object()
652
        finally:
653
            close_session()
1970 rajveer 654
 
655
    def addCategory(self, category):
656
        """
657
        Parameters:
658
         - category
659
        """
660
        try:
661
            return add_category(category)
662
        finally:
663
            close_session()
664
 
665
    def getCategory(self, id):
666
        """
667
        Parameters:
668
         - id
669
        """
670
        try:
671
            return to_t_category(get_category(id))
672
        finally:
673
            close_session()
674
 
675
    def getAllCategories(self, ):
676
        try:
677
            categories = get_all_categories()
678
            return [to_t_category(category) for category in categories]
679
        finally:
680
            close_session()
4432 rajveer 681
 
4423 phani.kuma 682
    def getAllSimilarItems(self, itemId):
683
        """
684
        Returns list of similar items.
685
 
686
        Parameters:
687
         - itemId
688
        """
4432 rajveer 689
        try:
690
            return get_all_similar_items_catalog_ids(itemId)
691
        finally:
692
            close_session()
693
 
4423 phani.kuma 694
    def addSimilarItem(self, itemId, catalogItemId):
695
        """
696
        add similar item.
697
 
698
        Parameters:
699
         - itemId, catalogItemId
700
        """
701
        try:
702
            return add_similar_item_catalog_id(itemId, catalogItemId)
703
        finally:
704
            close_session()
705
 
706
    def deleteSimilarItem(self, itemId, catalogItemId):
707
        """
708
        delete similar items.
709
 
710
        Parameters:
711
         - itemId, catalogItemIds
712
        """
713
        try:
714
            return delete_similar_item_catalog_id(itemId, catalogItemId)
715
        finally:
716
            close_session()
4762 phani.kuma 717
 
5504 phani.kuma 718
    def getAllItemVouchers(self, itemId):
719
        """
720
        Returns list of vouchers.
721
 
722
        Parameters:
723
         - itemId
724
        """
725
        try:
726
            vouchers = get_all_vouchers_for_item(itemId)
727
            return [to_t_voucher_item_mapping(voucher) for voucher in vouchers]
728
        finally:
729
            close_session()
730
 
731
    def getVoucherAmount(self, itemId, voucherType):
732
        """
733
        Returns voucher amount.
734
 
735
        Parameters:
736
         - itemId, voucherType
737
        """
738
        try:
739
            return get_voucher_amount(itemId, voucherType)
740
        finally:
741
            close_session()
742
 
743
    def addupdateVoucherForItem(self, catalogItemId, voucherType, voucherAmount):
744
        """
745
        add or update voucher for item.
746
 
747
        Parameters:
748
         - catalogItemId, voucherType, voucherAmount
749
        """
750
        try:
751
            return add_update_voucher_for_item(catalogItemId, voucherType, voucherAmount)
752
        finally:
753
            close_session()
754
 
755
    def deleteVoucherForItem(self, catalogItemId, voucherType):
756
        """
757
        delete voucher for item.
758
 
759
        Parameters:
760
         - catalogItemId, voucherType
761
        """
762
        try:
763
            return delete_voucher_for_item(catalogItemId, voucherType)
764
        finally:
765
            close_session()
2116 ankur.sing 766
 
4725 phani.kuma 767
    def checkSimilarItem(self, brand, modelNumber, modelName, color):
2116 ankur.sing 768
        """
4725 phani.kuma 769
        Checks if similar item exists (with same Brand, ModelNumber, ModelName, Color)
2116 ankur.sing 770
        If yes, returns the itemId else returns 0
771
 
772
        Parameters:
773
         - brand
774
         - modelNumber
4725 phani.kuma 775
         - modelName
2116 ankur.sing 776
         - color
777
        """
778
        try:
4725 phani.kuma 779
            return check_similar_item(brand, modelNumber, modelName, color)
2116 ankur.sing 780
        finally:
781
            close_session()
782
 
2286 ankur.sing 783
    def changeItemRiskyFlag(self, itemId, risky):
784
        """
785
        Marks/Unmarks an item as risky. This flag is used for automatic marking of an item as INACTIVE in case of zero inventory.
786
 
787
        Parameters:
788
         - itemId
789
         - risky
790
        """
791
        try:
792
            change_risky_flag(itemId, risky)
793
        finally:
794
            close_session()
2116 ankur.sing 795
 
4957 phani.kuma 796
    def getItemsForMasterSheet(self, category, brand):
2358 ankur.sing 797
        """
4957 phani.kuma 798
        Returns list of items with any status except PHASED_OUT and filtered by category, brand.
2358 ankur.sing 799
 
800
        Parameters:
4762 phani.kuma 801
         - category
4957 phani.kuma 802
         - vendor
803
         - brand
2358 ankur.sing 804
        """
805
        try:
4957 phani.kuma 806
            return [to_t_item(item) for item in get_items_for_mastersheet(category, brand)]
2358 ankur.sing 807
        finally:
808
            close_session()
809
 
810
    def getItemsByRiskyFlag(self, ):
811
        """
812
        Returns list of items marked as risky.
813
        """
814
        try:
815
            return [to_t_item(item) for item in get_risky_items()]
816
        finally:
817
            close_session()
2809 rajveer 818
 
819
    def getSimilarItemsCatalogIds(self, beginIndex, totalItems, itemId):
820
        """
821
        Returns list of catalog ids of items with same similarity index as of the given itemId
822
 
823
        Parameters:
824
         - beginIndex
825
         - totalItems
826
         - itemId
827
        """
828
        try:
829
            return get_similar_items_catalog_ids(beginIndex, beginIndex+totalItems, itemId)
830
        finally:
831
            close_session()
3079 rajveer 832
 
833
    def addProductNotification(self, itemId, email):
834
        """
835
        Add user requests for out of stock items. Once user will ask for notify me an entry will
836
 
837
        Parameters:
838
        - itemId
839
        - email
840
        """
841
        try:
842
            return add_product_notification(itemId, email)
843
        finally:
844
            close_session()
2358 ankur.sing 845
 
3086 rajveer 846
    def sendProductNotifications(self, ):
847
        """
848
        Send the product notifications to the users for items which has stock.
849
        """
850
        try:
851
            return send_product_notifications()
852
        finally:
853
            close_session()
3557 rajveer 854
 
855
 
856
    def getAllSources(self, ):
857
        """
858
        Return list of all sources
859
        """
860
        try:
861
            return get_all_sources()
862
        finally:
863
            close_session()
864
 
865
    def getItemPricingBySource(self, itemId, sourceId):
866
        """
867
        Returns the pricing information of an item. If no information is found, exception will be thrown.
3376 rajveer 868
 
3557 rajveer 869
        Parameters:
870
         - itemId
871
         - sourceId
872
        """
873
        try:
874
            return to_t_source_item_pricing(get_item_pricing_by_source(itemId, sourceId))
875
        finally:
876
            close_session()
877
 
878
    def addSourceItemPricing(self, sourceItemPricing):
879
        """
880
        Adds prices to be displayed corresponding to the item if user comes from a source.
881
 
882
        Parameters:
883
         - sourceItemPricing
884
        """
885
        try:
886
            add_source_item_pricing(sourceItemPricing)
887
        finally:
888
            close_session()
889
 
890
    def getAllSourcePricing(self, itemId):
891
        """
892
        Returns the list of source pricing information of an item.
893
        Raises an exception if item not found corresponding to itemId
894
 
895
        Parameters:
896
         - itemId
897
        """
898
        try:
899
            return [to_t_source_item_pricing(source_item_pricing) for source_item_pricing in get_all_source_pricing(itemId)]
900
#        return [to_t_item(item) for item in get_risky_items()]
901
        finally:
902
            close_session()
903
 
904
    def getItemForSource(self, item_id, sourceId):
905
        """
906
        Parameters:
907
         - item_id
908
         - sourceId
909
        """
910
        try:
911
            return to_t_item(get_item_for_source(item_id, sourceId))
912
        finally:
913
            close_session()
3872 chandransh 914
 
915
    def searchItemsInRange(self, searchTerms, offset, limit):
916
        """
917
        Searches items matching the the given terms in the catalog
3557 rajveer 918
 
3872 chandransh 919
        Parameters:
920
         - searchTerms
921
        """
922
        try:
923
            return [to_t_item(item) for item in search_items(searchTerms, offset, limit)]
924
        finally:
925
            close_session()
926
 
927
    def getSearchResultCount(self, searchTerms):
928
        """
929
        Gets the count of search results for the given search terms so that the user can go through all the pages.
930
 
931
        Parameters:
932
         - searchTerms
933
        """
934
        try:
935
            return get_search_result_count(searchTerms)
936
        finally:
937
            close_session()
938
 
4295 varun.gupt 939
    def getProductNotifications(self, startDateTime):
940
        '''
941
        Returns a list of Product Notification objects each representing user requests for notification
942
        '''
943
        try:
944
            return [to_t_product_notification_request(notification) for notification in get_product_notifications(to_py_date(startDateTime))]
945
        finally:
946
            close_session()
947
 
7897 amar.kumar 948
    def getProductNotificationRequestCount(self, startDateTime,  categoryId):
4295 varun.gupt 949
        '''
950
        Returns list of items and the counts of product notification requests
951
        '''
952
        try:
7897 amar.kumar 953
            notification_request_counts = [(notification.item, count) for notification, count in get_product_notification_request_count(to_py_date(startDateTime), categoryId)]
4295 varun.gupt 954
 
955
            return [to_t_product_notification_request_count(count) for count in notification_request_counts]
956
 
957
        finally:
958
            close_session()
959
 
3376 rajveer 960
    def isAlive(self, ):
961
        """
962
        For checking weather service is active alive or not. It also checks connectivity with database
963
        """
964
        try:
965
            return is_alive()
966
        finally:
967
            close_session()
968
 
766 rajveer 969
    def closeSession(self, ):
3376 rajveer 970
        """
971
        For closing the open session in sqlalchemy
972
        """
4332 anupam.sin 973
        close_session()
974
 
4649 phani.kuma 975
    def addAuthorizationLog(self, itemId, username, reason):
976
        """
977
        add a log to authorize table.
978
 
979
        Parameters:
980
         - itemId, username, reason
981
        """
982
        try:
983
            return add_authorization_log_for_item(itemId, username, reason)
984
        finally:
4934 amit.gupta 985
            close_session()
5110 mandeep.dh 986
 
7330 amit.gupta 987
    def getVatPercentageForItem(self, itemId, stateId, price):
6039 amit.gupta 988
        """
989
        get Vat percentage for item for item
990
        """
991
        try:
7340 amit.gupta 992
            return get_vat_percentage_for_item(itemId, stateId, price)
6039 amit.gupta 993
        finally:
994
            close_session()
995
 
996
    def getVatAmountForItem(self, itemId, price):
997
        """
998
        get Vat amount for item
999
        """
1000
        try:
1001
            return get_vat_amount_for_item(itemId,price)
1002
        finally:
1003
            close_session()
1004
 
5944 mandeep.dh 1005
    def validateRiskyStatus(self, itemId):
5712 mandeep.dh 1006
        """
5944 mandeep.dh 1007
        Check wether item is risky and change status if inventory is not available for risky items
5712 mandeep.dh 1008
        """
1009
        try:
5944 mandeep.dh 1010
            return check_risky_item(itemId)
5712 mandeep.dh 1011
        finally:
1012
            close_session()
6532 amit.gupta 1013
 
1014
    def getAllIgnoredInventoryUpdateItemsList(self,offset, limit):
1015
        try:
1016
            return get_all_ignored_inventoryupdate_items_list(offset,limit)
1017
        finally:
6921 anupam.sin 1018
            close_session()
6805 anupam.sin 1019
 
6921 anupam.sin 1020
    def getInsuranceAmount(self, itemId, price, insurerId, quantity):
6805 anupam.sin 1021
        try:
6921 anupam.sin 1022
            return get_insurance_amount(itemId, price, insurerId, quantity)
6805 anupam.sin 1023
        finally:
6921 anupam.sin 1024
            close_session()
6805 anupam.sin 1025
 
1026
    def getInsurer(self, insurerId):
1027
        try:
1028
            return to_t_insurer(get_insurer(insurerId))
1029
        finally:
6838 vikram.rag 1030
            close_session()
1031
 
1032
    def getAllInsurers(self):
1033
        try:
1034
            insurers = []
1035
            all_insurers = get_all_insurers()
1036
            for insurer in all_insurers:
1037
                insurers.append(to_t_insurer(insurer))
6921 anupam.sin 1038
            return insurers
6838 vikram.rag 1039
        finally:
1040
            close_session()
9299 kshitij.so 1041
 
1042
    def getPrefferedInsurerForItem(self, itemId, insurerType):
1043
        try:
1044
            return get_preffered_insurer_for_item(itemId, insurerType)
1045
        finally:
1046
            close_session()
6962 rajveer 1047
 
1048
    def updateInsuranceDeclaredAmount(self, insurerId, amount):
1049
        try:
1050
            update_insurance_declared_amount(insurerId, amount)
1051
        finally:
1052
            close_session()
5944 mandeep.dh 1053
 
6845 amit.gupta 1054
    def getAllEntityTags(self):
1055
        try:
1056
            return get_all_entity_tags()
1057
        finally:
1058
            close_session()
1059
 
7190 amar.kumar 1060
    def getFreebieForItem(self, itemId):
1061
        try:
1062
            return get_freebie_for_item(itemId)
1063
        finally:
1064
            close_session()
1065
 
1066
    def addOrUpdateFreebieForItem(self, freebieItem):
1067
        try:
1068
            return add_or_update_freebie_for_item(freebieItem)
1069
        finally:
1070
            close_session()
7291 vikram.rag 1071
 
7272 amit.gupta 1072
    def addOrUpdateBrandInfo(self, brandInfo):
1073
        try:
1074
            return add_or_update_brand_info(brandInfo)
1075
        finally:
1076
            close_session()
1077
 
1078
    def getBrandInfo(self):
1079
        try:
1080
            return get_brand_info()
1081
        finally:
1082
            close_session()
1083
 
7256 rajveer 1084
    def getStorePricing(self, itemId):
1085
        try:
1086
            return get_store_pricing(itemId)
1087
        finally:
1088
            close_session()
1089
 
7306 rajveer 1090
    def getStorePricings(self, itemIds):
1091
        try:
1092
            return [get_store_pricing(itemId) for itemId in itemIds]
1093
        finally:
1094
            close_session()
1095
 
7382 rajveer 1096
    def updateStorePricing(self, sp, allColors):
7265 rajveer 1097
        try:
7382 rajveer 1098
            return update_store_pricing(sp, allColors)
7265 rajveer 1099
        finally:
1100
            close_session()
7190 amar.kumar 1101
 
7281 kshitij.so 1102
    def getAmazonItemDetails(self, amazonItemId):
1103
        try:
8362 kshitij.so 1104
            result = to_t_Amazonlisted(get_amazon_item_details(amazonItemId))
7281 kshitij.so 1105
        finally:
1106
            close_session()
1107
            return result
1108
 
8168 kshitij.so 1109
    def updateAmazonItemDetails(self,amazonlisted):
7281 kshitij.so 1110
        try:
8168 kshitij.so 1111
            update_amazon_item_details(amazonlisted)
7281 kshitij.so 1112
        finally:
1113
            close_session()
1114
 
1115
    def addAmazonItem(self,amazonlisted):
1116
        try:
1117
            print amazonlisted
1118
            add_amazon_item(amazonlisted)
1119
        finally:
1120
            close_session()
1121
 
7291 vikram.rag 1122
    def getAsinItems(self):
1123
        try:
1124
            items = get_asin_items()
1125
            ret_items = []
1126
            for item in items:
1127
                if item:
1128
                    ret_items.append(to_t_item(item))
1129
            return ret_items
1130
        finally:
1131
            close_session()
7281 kshitij.so 1132
 
7291 vikram.rag 1133
    def getAllFbaListedItems(self):
1134
        try:
1135
            items = get_all_fba_listed_items()
1136
            ret_items = []
1137
            for item in items:
1138
                if item:
1139
                    ret_items.append(to_t_Amazonlisted(item))
1140
            return ret_items
1141
        finally:
1142
            close_session()
1143
 
1144
    def getAllNonFbaListedItems(self):
1145
        try:
1146
            items = get_all_nonfba_listed_items()
1147
            ret_items = []
1148
            for item in items:
1149
                if item:
1150
                    ret_items.append(to_t_Amazonlisted(item))
1151
            return ret_items
1152
        finally:
1153
            close_session()
1154
 
1155
 
1156
    def getAllAmazonListedItems(self):      
1157
        try:
1158
            amazonlisteditems = []
1159
            all_listed = get_all_amazon_listed_items()
1160
            for amazonlisteditem in all_listed:
1161
                amazonlisteditems.append(to_t_Amazonlisted(amazonlisteditem))
1162
            return amazonlisteditems
1163
        finally:
8139 kshitij.so 1164
            close_session()           
7291 vikram.rag 1165
 
7460 kshitij.so 1166
    def updateItemInventory(self,itemId,holdInventory,defaultInventory):
1167
        try:
1168
            update_item_inventory(itemId,holdInventory,defaultInventory)
1169
            return True
1170
        finally:
1171
            close_session()
7291 vikram.rag 1172
 
7770 kshitij.so 1173
    def updateTimestampForAmazonFeeds(self,feedType,skuList,timestamp):
1174
        try:
1175
            return update_timestamp_for_amazon_feeds(feedType,skuList,timestamp)
1176
        finally:
1177
            close_session()
1178
 
7897 amar.kumar 1179
    def  getAllParentCategories(self):
1180
        try:
1181
            categories = get_all_parent_categories()
1182
            return [to_t_category(category) for category in categories]
1183
        finally:
1184
            close_session()
1185
 
7977 kshitij.so 1186
    def addPageViewEvent(self,pageEvent):
1187
        try:
1188
            print "csh"
1189
            add_page_view_event(pageEvent)
1190
        finally:
1191
            close_session()
1192
 
1193
    def addCartEvent(self,cartEvent):
1194
        try:
1195
            add_cart_event(cartEvent)
1196
        finally:
1197
            close_session()
8182 amar.kumar 1198
 
1199
    def addEbayItem(self, ebayItem):
1200
        try:
1201
            insert_ebay_item(ebayItem)
1202
        finally:
1203
            close_session()
1204
 
1205
    def getEbayItem(self, listingId):
1206
        try:
1207
            return to_t_ebay_item(get_ebay_item(listingId))
1208
        finally:
1209
            close_session()
7977 kshitij.so 1210
 
8182 amar.kumar 1211
    def updateEbayItem(self, ebayItem):
1212
        try:
1213
            update_ebay_item(ebayItem)
1214
        finally:
1215
            close_session()
1216
 
8168 kshitij.so 1217
    def updateAmazonAttributesInBulk(self,amazonlisted):
1218
        try:
1219
            return update_amazon_attributes_in_bulk(amazonlisted)
1220
        finally:
1221
            close_session()
8139 kshitij.so 1222
 
8379 vikram.rag 1223
    def getAllItemstoListOnFba(self):
1224
        try:
1225
            fba_items = []
1226
            for item in get_all_items_to_list_on_fba():
1227
                fba_items.append(to_t_Amazonlisted(item))
1228
            return fba_items
1229
        finally:
1230
            close_session()
1231
 
1232
    def getAllItemstoListOnNonFba(self):
1233
        try:
1234
            non_fba_items = []
1235
            for item in get_all_items_to_list_on_nonfba():
1236
                non_fba_items.append(to_t_Amazonlisted(item))
1237
            return non_fba_items
1238
        finally:
1239
            close_session()
8619 kshitij.so 1240
 
1241
    def getAmazonListedItems(self,offset,limit):
1242
        try:
1243
            amazonlisteditems = []
1244
            all_listed = get_amazon_listed_items(offset,limit)
1245
            for amazonlisteditem in all_listed:
1246
                amazonlisteditems.append(to_t_Amazonlisted(amazonlisteditem))
1247
        finally:
1248
            close_session()
1249
            return amazonlisteditems
1250
 
1251
    def searchAmazonItems(self,searchTerms,offset,limit):
1252
        try:
1253
            amazonlisteditems = []
1254
            search_result = search_amazon_items(searchTerms,offset,limit)
1255
            for amazonlisteditem in search_result:
1256
                amazonlisteditems.append(to_t_Amazonlisted(amazonlisteditem))
1257
        finally:
1258
            close_session()
1259
            return amazonlisteditems
1260
 
1261
    def getAmazonSearchResultCount(self,searchTerms):
1262
        try:
1263
            return get_amazon_search_result_count(searchTerms)
1264
        finally:
1265
            close_session()
1266
 
1267
    def getCountForAmazonlistedItems(self):
1268
        try:
1269
            return get_count_for_amazonlisted_items()
1270
        finally:
1271
            close_session()
1272
 
1273
    def updateAsin(self,amazonAsinMap):
1274
        try:
1275
            update_asin(amazonAsinMap)
1276
        finally:
1277
            close_session()
8168 kshitij.so 1278
 
8739 vikram.rag 1279
    def addOrUpdateSnapdealItem(self,snapdealitem):
1280
        try:
1281
            return add_or_update_snapdeal_item(snapdealitem)
1282
        finally:    
1283
            close_session()
1284
 
1285
    def getSnapdealItem(self,item_id):
1286
        try:
1287
            return to_t_snapdeal_item(get_snapdeal_item(item_id))
1288
        finally:
1289
            close_session()
9242 kshitij.so 1290
 
1291
    def getSnapdealItemDetails(self,item_id):
1292
        try:
9724 kshitij.so 1293
            snapdealItem, snapdealInventory = get_snapdeal_item_detail(item_id)
1294
            return to_t_snapdeal_item_details(snapdealItem, snapdealInventory)
9242 kshitij.so 1295
        finally:
1296
            close_session()
8739 vikram.rag 1297
 
1298
    def getAllSnapdealItems(self):
1299
        try:
1300
            items = get_all_snapdeal_items() 
9724 kshitij.so 1301
            return [to_t_snapdeal_item_details(item,None) for item in items]
8739 vikram.rag 1302
        finally:
9242 kshitij.so 1303
            close_session()
8739 vikram.rag 1304
 
9242 kshitij.so 1305
    def getSnapdealItems(self,offset,limit):
1306
        try:
1307
            items = get_snapdeal_items(offset,limit) 
9724 kshitij.so 1308
            return [to_t_snapdeal_item_details(item,None) for item in items]
9242 kshitij.so 1309
        finally:
1310
            close_session()
1311
 
1312
    def searchSnapdealItems(self,searchterm,offset,limit):
1313
        try:
1314
            snapdealitems = []
1315
            search_result = search_snapdeal_items(searchterm,offset,limit)
1316
            for snapdealitem in search_result:
9724 kshitij.so 1317
                snapdealitems.append(to_t_snapdeal_item_details(snapdealitem,None))
9242 kshitij.so 1318
        finally:
1319
            close_session()
1320
            return snapdealitems
1321
 
1322
    def getCountForSnapdealItems(self):
1323
        try:
1324
            return get_count_for_snapdeal_items()
1325
        finally:
1326
            close_session()
1327
 
1328
 
1329
    def getSnapdealSearchResultCount(self,searchterms):
1330
        try:
1331
            return get_snapdeal_search_result_count(searchterms)
1332
        finally:
1333
            close_session()
1334
 
9456 vikram.rag 1335
    def getSnapdealItembySkuAtSnapdeal(self,skuatsnapdeal):
1336
        try:
1337
            return to_t_snapdeal_item(get_snapdealitem_by_skuatsnapdeal(skuatsnapdeal))
1338
        finally:
9724 kshitij.so 1339
            close_session()
1340
 
1341
    def getMarketplacedetailsForItem(self,itemId,sourceId):
1342
        try:
1343
            return to_t_marketplace_items(get_marketplace_details_for_item(itemId,sourceId))
1344
        finally:
1345
            close_session()
1346
 
1347
    def updateMarketplaceAttributesForItem(self,marketplaceItem):
1348
        try:
1349
            return update_marketplace_attributes_for_item(marketplaceItem)
1350
        finally:
1351
            close_session() 
9456 vikram.rag 1352
 
9621 manish.sha 1353
    def getProductFeedSubmit(self, catalog_itemId):
1354
        try:
1355
            return to_t_product_feed_submit(get_product_feed_submit(catalog_itemId))
1356
        finally:
1357
            close_session()
1358
 
1359
    def addProductFeedSubmit(self, productFeedSubmit):
1360
        try:
1361
            return add_product_feed_submit(productFeedSubmit)
1362
        finally:
1363
            close_session()
1364
 
1365
    def updateProductFeedSubmit(self, productFeedSubmit):
1366
        try:
1367
            return update_product_feed_submit(productFeedSubmit)
1368
        finally:
1369
            close_session()
1370
 
1371
    def deleteProductFeedSubmit(self, catalog_itemId):
1372
        try:
1373
            return delete_product_feed_submit(catalog_itemId)
1374
        finally:
1375
            close_session()
1376
 
1377
    def getAllProductFeedSubmit(self):
1378
        try:
1379
            log_entry(self, "all ProductFeedSubmit requested")
1380
            feedSubmits = get_all_product_feed_submit()
1381
            ret_feedSubmits = []
1382
            for feedSubmit in feedSubmits:
1383
                if feedSubmit:
1384
                    ret_feedSubmits.append(to_t_product_feed_submit(feedSubmit))
1385
            return ret_feedSubmits
1386
        finally:
1387
            close_session()   
1388
 
4934 amit.gupta 1389
def is_valid(item):
1390
    if item.status in [status.ACTIVE, status.PAUSED, status.PAUSED_BY_RISK]:
4936 amit.gupta 1391
        if item.startDate:
1392
            return not(datetime.datetime.now() < item.startDate or item.sellingPrice == 0)
1393
        else:
1394
            return True
6256 rajveer 1395
    elif item.status == status.COMING_SOON:
1396
        return True
1397
    else:
7190 amar.kumar 1398
        return False
7438 amit.gupta 1399
 
7190 amar.kumar 1400
 
1401
if __name__ == '__main__':
1402
    items = get_all_alive_items()
1403
    ret_items = []
1404
    for item in items:
1405
        if item:
1406
            ret_items.append(to_t_item(item))
1407
    print ret_items