Subversion Repositories SmartDukaan

Rev

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