| 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)
|