Subversion Repositories SmartDukaan

Rev

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