Subversion Repositories SmartDukaan

Rev

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