Subversion Repositories SmartDukaan

Rev

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