Subversion Repositories SmartDukaan

Rev

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