Subversion Repositories SmartDukaan

Rev

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