Subversion Repositories SmartDukaan

Rev

Rev 5557 | Rev 5591 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5557 Rev 5586
Line 32... Line 32...
32
import calendar
32
import calendar
33
import datetime
33
import datetime
34
import sys
34
import sys
35
import threading
35
import threading
36
import urllib2
36
import urllib2
37
 
-
 
-
 
37
from shop2020.clients.CatalogClient import CatalogClient
38
 
38
 
39
to_addresses = ["cnc.center@shop2020.in", "ashutosh.saxena@shop2020.in"]
39
to_addresses = ["cnc.center@shop2020.in", "ashutosh.saxena@shop2020.in"]
40
from_user = "cnc.center@shop2020.in"
40
from_user = "cnc.center@shop2020.in"
41
from_pwd = "5h0p2o2o"
41
from_pwd = "5h0p2o2o"
42
 
42
 
Line 76... Line 76...
76
        items = query.all()
76
        items = query.all()
77
        return items
77
        return items
78
    except Exception as ex:
78
    except Exception as ex:
79
        print ex
79
        print ex
80
        raise InventoryServiceException(109, "Item not found")
80
        raise InventoryServiceException(109, "Item not found")
-
 
81
 
-
 
82
def is_valid_catalog_id(catalog_id):
-
 
83
    item = Item.query.filter_by(catalog_item_id=catalog_id).first()
-
 
84
    if item is not None:
-
 
85
        return True
81
        
86
    else:
-
 
87
        return False
-
 
88
 
82
def is_active(item_id):
89
def is_active(item_id):
83
    t_item_shipping_info = ItemShippingInfo()
90
    t_item_shipping_info = ItemShippingInfo()
84
    try:
91
    try:
85
        item = get_item(item_id)
92
        item = get_item(item_id)
86
        t_item_shipping_info.isRisky = item.risky
93
        t_item_shipping_info.isRisky = item.risky
Line 333... Line 340...
333
    preferredVendorName = "None"
340
    preferredVendorName = "None"
334
    if item.preferredVendor:
341
    if item.preferredVendor:
335
        ds_item.preferredVendor = item.preferredVendor
342
        ds_item.preferredVendor = item.preferredVendor
336
        preferredVendorName = get_Vendor(item.preferredVendor).name
343
        preferredVendorName = get_Vendor(item.preferredVendor).name
337
    
344
    
338
    # Check if a similar item already exists in our database
345
    if item.catalogItemId:
339
    similar_item = Item.query.filter_by(brand=item.brand, model_number=item.modelNumber, model_name=item.modelName).first()
346
        catalog_client = CatalogClient("catalog_service_server_host_master", "catalog_service_server_port").get_client()
340
    print "[SIMILAR ITEM FOUND:] FOR {0} {1} {2}".format(item.brand, item.modelNumber, item.modelName)
347
        master_items = catalog_client.getItemsByCatalogId(item.catalogItemId)
341
                 
348
        itemStatus = status.IN_PROCESS
342
    if similar_item is None or similar_item.catalog_item_id is None:
349
        for masterItem in master_items:
-
 
350
            if masterItem.itemStatus in [status.CONTENT_COMPLETE, status.COMING_SOON, status.ACTIVE, status.PAUSED]:
343
        # If there is no similar item in the database from before,
351
                itemStatus = status.CONTENT_COMPLETE
344
        # use the entity_id_generator
352
                ds_item.category = masterItem.category
345
        entity_id = EntityIDGenerator.query.first()
353
                break
346
        ds_item.catalog_item_id = entity_id.id + 1
354
        ds_item.catalog_item_id = item.catalogItemId
347
        ds_item.status = status.IN_PROCESS
355
        ds_item.status = itemStatus
348
        ds_item.status_description = "This item is in process."
356
        ds_item.status_description = "This item is in process."
349
        entity_id.id = entity_id.id  + 1
-
 
350
        if similar_item is not None and similar_item.catalog_item_id is None:
-
 
351
            similar_item.catalog_item_id = entity_id.id
-
 
352
    else:
357
    else:
-
 
358
        # Check if a similar item already exists in our database
-
 
359
        similar_item = Item.query.filter_by(brand=item.brand, model_number=item.modelNumber, model_name=item.modelName).first()
-
 
360
        print "[SIMILAR ITEM FOUND:] FOR {0} {1} {2}".format(item.brand, item.modelNumber, item.modelName)
-
 
361
                     
-
 
362
        if similar_item is None or similar_item.catalog_item_id is None:
-
 
363
            # If there is no similar item in the database from before,
-
 
364
            # use the entity_id_generator
-
 
365
            entity_id = EntityIDGenerator.query.first()
-
 
366
            ds_item.catalog_item_id = entity_id.id + 1
-
 
367
            ds_item.status = status.IN_PROCESS
-
 
368
            ds_item.status_description = "This item is in process."
-
 
369
            entity_id.id = entity_id.id  + 1
-
 
370
            if similar_item is not None and similar_item.catalog_item_id is None:
-
 
371
                similar_item.catalog_item_id = entity_id.id
-
 
372
        else:
353
        #If a similar item already exists for a product group, brand and model_number, set it as same.
373
            #If a similar item already exists for a product group, brand and model_number, set it as same.
354
        ds_item.catalog_item_id = similar_item.catalog_item_id
374
            ds_item.catalog_item_id = similar_item.catalog_item_id
355
        ds_item.category = similar_item.category
375
            ds_item.category = similar_item.category
356
        ds_item.product_group = similar_item.product_group
376
            ds_item.product_group = similar_item.product_group
357
        ds_item.status = similar_item.status
377
            ds_item.status = similar_item.status
358
        ds_item.status_description = similar_item.status_description
378
            ds_item.status_description = similar_item.status_description
359
    
379
    
360
    session.commit();
380
    session.commit();
361
    subject = "New item is added. Id is {0}".format(str(ds_item.id))
381
    subject = "New item is added. Id is {0}".format(str(ds_item.id))
362
    message = "Category : {6}, Brand : {0}, Model : {1}, Model Number : {2}\nColor : {3}, Selling Price : {4}, Mrp : {5}, \nPromotion Text : {7}, Preferred Vendor: {8}".format(item.brand, item.modelNumber, item.modelName, item.color, item.sellingPrice, item.mrp, item.category, item.bestDealText, preferredVendorName)
382
    message = "Category : {6}, Brand : {0}, Model : {1}, Model Number : {2}\nColor : {3}, Selling Price : {4}, Mrp : {5}, \nPromotion Text : {7}, Preferred Vendor: {8}".format(item.brand, item.modelNumber, item.modelName, item.color, item.sellingPrice, item.mrp, item.category, item.bestDealText, preferredVendorName)
363
    __send_mail(subject, message)
383
    __send_mail(subject, message)