Subversion Repositories SmartDukaan

Rev

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