Subversion Repositories SmartDukaan

Rev

Rev 5393 | Rev 5460 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
94 ashish 1
'''
2
Created on 23-Mar-2010
3
 
4
@author: ashish
5
'''
5110 mandeep.dh 6
from shop2020.thriftpy.model.v1.catalog.ttypes import Item, ItemInventory, \
7
    Warehouse, VendorItemPricing, Vendor, Category, VendorItemMapping, \
8
    SourceItemPricing, Source, ItemType, \
9
    ProductNotificationRequest as TProductNotificationRequest, \
10
    ProductNotificationRequestCount as TProductNotificationRequestCount, \
11
    InventoryType, WarehouseType
12
from shop2020.utils.Utils import to_java_date
94 ashish 13
import time
14
 
15
def to_t_item(item):
16
    t_item = Item()
576 chandransh 17
    if item is None:
18
        return t_item
94 ashish 19
    t_item.id = item.id
963 chandransh 20
    t_item.productGroup = item.product_group
21
    t_item.brand = item.brand
591 chandransh 22
    t_item.modelNumber = item.model_number
23
    t_item.modelName = item.model_name
609 chandransh 24
    t_item.color = item.color
591 chandransh 25
    t_item.category = item.category
122 ashish 26
    t_item.catalogItemId = item.catalog_item_id
27
    t_item.weight = item.weight
28
    t_item.featureId = item.feature_id
29
    t_item.featureDescription = item.feature_description
30
    if item.startDate:
31
        t_item.startDate = to_java_date(item.startDate)
5217 amit.gupta 32
    if item.comingSoonStartDate:
33
        t_item.comingSoonStartDate = to_java_date(item.comingSoonStartDate)
34
    if item.expectedArrivalDate:
35
        t_item.expectedArrivalDate = to_java_date(item.expectedArrivalDate)
122 ashish 36
    if item.addedOn:
37
        t_item.addedOn = to_java_date(item.addedOn)
609 chandransh 38
    if item.updatedOn:
39
        t_item.updatedOn = to_java_date(item.updatedOn)
122 ashish 40
    t_item.itemStatus = item.status
2035 rajveer 41
    t_item.status_description = item.status_description
501 rajveer 42
    if item.sellingPrice:
609 chandransh 43
        t_item.sellingPrice = item.sellingPrice
630 chandransh 44
    if item.mrp:
501 rajveer 45
        t_item.mrp = item.mrp    
122 ashish 46
 
2028 ankur.sing 47
    if item.comments:
48
        t_item.comments = item.comments
609 chandransh 49
    if item.bestDealText:
50
        t_item.bestDealText = item.bestDealText
51
    if item.bestDealValue:
52
        t_item.bestDealValue = item.bestDealValue
53
 
1910 varun.gupt 54
    t_item.defaultForEntity = item.defaultForEntity
2065 ankur.sing 55
    t_item.bestSellingRank = item.bestSellingRank
2251 ankur.sing 56
    t_item.risky = item.risky
3355 chandransh 57
    t_item.expectedDelay = item.expectedDelay
4406 anupam.sin 58
    t_item.isWarehousePreferenceSticky = item.isWarehousePreferenceSticky
4295 varun.gupt 59
    t_item.warrantyPeriod = item.warranty_period
4506 phani.kuma 60
    t_item.preferredVendor = item.preferredVendor
5110 mandeep.dh 61
    t_item.type = ItemType._NAMES_TO_VALUES[item.type]
5385 phani.kuma 62
    t_item.hasItemNo = item.hasItemNo
2065 ankur.sing 63
 
94 ashish 64
    return t_item
122 ashish 65
 
94 ashish 66
def to_t_item_inventory(item_inventory_list, item_id):
67
    t_item_inventory = ItemInventory()
68
    t_item_inventory.id = item_id
69
    t_item_inventory.availability = {}
4431 phani.kuma 70
    t_item_inventory.reserved = {}
94 ashish 71
    for inventory_item in item_inventory_list:
5424 rajveer 72
        t_item_inventory.availability[inventory_item.warehouse.id] = inventory_item.availability
4431 phani.kuma 73
        t_item_inventory.reserved[inventory_item.warehouse.id] = inventory_item.reserved
483 rajveer 74
#        need review again        
75
#        if inventory_item.checkedOn:
76
#            t_item_inventory.lastCheckedOn = to_java_date(inventory_item.checkedOn)
94 ashish 77
    return t_item_inventory
78
 
79
def to_t_warehouse(warehouse):
80
    t_warehouse = Warehouse()
81
    t_warehouse.id = warehouse.id
759 chandransh 82
    t_warehouse.displayName = warehouse.displayName
94 ashish 83
    t_warehouse.location = warehouse.location
483 rajveer 84
    t_warehouse.tinNumber = warehouse.tinNumber
85
    t_warehouse.pincode = warehouse.pincode
2841 chandransh 86
    t_warehouse.billingType = warehouse.billingType
5110 mandeep.dh 87
    t_warehouse.vendor = to_t_vendor(warehouse.vendor)
88
    t_warehouse.billingWarehouseId = warehouse.billingWarehouseId
89
    t_warehouse.shippingWarehouseId = warehouse.shippingWarehouseId
90
    t_warehouse.isAvailabilityMonitored = warehouse.isAvailabilityMonitored
91
    t_warehouse.transferDelayInHours = warehouse.transferDelayInHours
92
    t_warehouse.inventoryType = InventoryType._NAMES_TO_VALUES[warehouse.inventoryType]
93
    t_warehouse.warehouseType = WarehouseType._NAMES_TO_VALUES[warehouse.warehouseType]
494 rajveer 94
    if warehouse.vendorString:
483 rajveer 95
        t_warehouse.vendorString = warehouse.vendorString
122 ashish 96
    if warehouse.addedOn:
97
        t_warehouse.addedOn = to_java_date(warehouse.addedOn)
483 rajveer 98
    if warehouse.lastCheckedOn:
99
        t_warehouse.lastCheckedOn = to_java_date(warehouse.lastCheckedOn)
122 ashish 100
    return t_warehouse
1341 chandransh 101
 
102
def to_t_vendor(vendor):
103
    t_vendor = Vendor()
104
    t_vendor.id = vendor.id
105
    t_vendor.name = vendor.name
1348 chandransh 106
    return t_vendor
1341 chandransh 107
 
108
def to_t_vendor_item_pricing(vendor_item_pricing):
109
    t_vendor_item_pricing = VendorItemPricing()
1348 chandransh 110
    t_vendor_item_pricing.vendorId = vendor_item_pricing.vendor.id
111
    t_vendor_item_pricing.itemId = vendor_item_pricing.item.id
1341 chandransh 112
    t_vendor_item_pricing.transferPrice = vendor_item_pricing.transfer_price
113
    t_vendor_item_pricing.dealerPrice = vendor_item_pricing.dealerPrice
1348 chandransh 114
    t_vendor_item_pricing.mop = vendor_item_pricing.mop
1970 rajveer 115
    return t_vendor_item_pricing
116
 
2116 ankur.sing 117
def to_t_vendor_item_mapping(vendor_item_mapping):
118
    t_vendor_item_mapping = VendorItemMapping()
119
    t_vendor_item_mapping.vendorId = vendor_item_mapping.vendor.id
120
    t_vendor_item_mapping.itemId = vendor_item_mapping.item.id
121
    t_vendor_item_mapping.itemKey = vendor_item_mapping.item_key
2120 ankur.sing 122
    return t_vendor_item_mapping
2116 ankur.sing 123
 
124
 
1970 rajveer 125
def to_t_category(category):
126
    t_category = Category()
127
    t_category.id = category.id
128
    t_category.label = category.label
129
    t_category.description = category.description
130
    t_category.parent_category_id = category.parent_category_id
4762 phani.kuma 131
    t_category.display_name = category.display_name
3557 rajveer 132
    return t_category
133
 
134
def to_t_source_item_pricing(source_item_pricing):
135
    t_source_item_pricing = SourceItemPricing()
136
    t_source_item_pricing.sourceId = source_item_pricing.source.id
137
    t_source_item_pricing.itemId = source_item_pricing.item.id
138
    t_source_item_pricing.mrp = source_item_pricing.mrp
139
    t_source_item_pricing.sellingPrice = source_item_pricing.sellingPrice
140
    return t_source_item_pricing
141
 
142
def to_t_source(source):
143
    t_source = Source()
144
    t_source.id = source.id
145
    t_source.name = source.name
146
    t_source.identifier = source.identifier
147
    return t_source
4295 varun.gupt 148
 
149
def to_t_product_notification_request(product_notification_request):
150
    t_product_notification_request = TProductNotificationRequest()
151
 
152
    if product_notification_request:
153
        t_product_notification_request.item = to_t_item(product_notification_request.item)
154
        t_product_notification_request.email = product_notification_request.email
155
        t_product_notification_request.addedOn = to_java_date(product_notification_request.addedOn)
156
 
157
    return t_product_notification_request
158
 
159
def to_t_product_notification_request_count(product_notification_request_count):
160
 
161
    t_product_notification_request_count = TProductNotificationRequestCount()
162
 
163
    if product_notification_request_count:
164
        item, count = product_notification_request_count
165
        t_product_notification_request_count.item = to_t_item(item)
166
        t_product_notification_request_count.count = count
167
 
168
    return t_product_notification_request_count