Subversion Repositories SmartDukaan

Rev

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