Subversion Repositories SmartDukaan

Rev

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