Subversion Repositories SmartDukaan

Rev

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