Subversion Repositories SmartDukaan

Rev

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