Subversion Repositories SmartDukaan

Rev

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

Rev 3584 Rev 3992
Line 60... Line 60...
60
        model_number_str = str(int(model_number))
60
        model_number_str = str(int(model_number))
61
    except:
61
    except:
62
        model_number_str = str(model_number)
62
        model_number_str = str(model_number)
63
    if '(' in model_number_str:
63
    if '(' in model_number_str:
64
        model_number_str = model_number_str.split('(')[0]
64
        model_number_str = model_number_str.split('(')[0]
65
    return brand.strip().lower() + '|' + model_number_str.strip().lower() + '|' + color.strip().lower()
65
    return str('handsets|' + brand.strip().lower() + '|' + model_number_str.strip().lower() + '|' + color.strip().lower())
66
 
66
 
67
def load_item_numbers():
67
def load_item_numbers():
68
    filename = "/home/ashish/itemNumbers.xls"
68
    filename = "/home/ashish/itemNumbers.xls"
69
    workbook = xlrd.open_workbook(filename)
69
    workbook = xlrd.open_workbook(filename)
70
    sheet = workbook.sheet_by_index(0)
70
    sheet = workbook.sheet_by_index(0)
71
    num_rows = sheet.nrows
71
    num_rows = sheet.nrows
72
    itemNumberMap = {}
72
    itemNumberMap = {}
73
    itemNumberTypeMap = {}
73
    itemNumberTypeMap = {}
74
    for rownum in range(1, num_rows):
74
    for rownum in range(2, num_rows):
75
        itemNumber, unused_description, unused_pc, unused_pg, unused_tech, brand, model_number, color = sheet.row_values(rownum)[0:8]
75
        itemNumber, unused_description, unused_pc, unused_pg, unused_tech, brand, model_number, color = sheet.row_values(rownum)[0:8]
76
        key = get_key(brand, model_number, color) 
76
        key = get_key(brand, model_number, color)
-
 
77
        itemNumberStr = str(itemNumber)
-
 
78
        if not itemNumberStr.isdigit():
-
 
79
            continue
77
        itemNumberMap[key] = str(itemNumber)
80
        itemNumberMap[key] = itemNumberStr 
78
        if len(str(itemNumber)) == 13:
81
        if len(itemNumberStr) == 13:
79
            itemNumberTypeMap[key] = 'EAN'
82
            itemNumberTypeMap[key] = 'EAN'
80
        else:
83
        elif len(itemNumberStr) == 12:
81
            itemNumberTypeMap[key] = 'UPC'
84
            itemNumberTypeMap[key] = 'UPC'
82
    print itemNumberMap
85
    print itemNumberMap
83
    return itemNumberMap, itemNumberTypeMap
86
    return itemNumberMap, itemNumberTypeMap
84
 
87
 
85
 
88
 
Line 144... Line 147...
144
        screenType = 'LED'
147
        screenType = 'LED'
145
    else:
148
    else:
146
        screenType = ''
149
        screenType = ''
147
    return screenType
150
    return screenType
148
 
151
 
-
 
152
def get_hotspot_mapping(mappings):
-
 
153
    for mapping in mappings:
-
 
154
        if mapping.vendorId == 1:
-
 
155
            return mapping.itemKey
-
 
156
    return None
-
 
157
 
149
def main():
158
def main():
150
    itemNumberMap, itemNumberTypeMap = load_item_numbers() 
159
    itemNumberMap, itemNumberTypeMap = load_item_numbers() 
151
    catalog_client = CatalogClient().get_client()
160
    catalog_client = CatalogClient().get_client()
152
    item_details = []
161
    item_details = []
153
    filename = "/home/ashish/featurevalues.xls"
162
    filename = "/home/ashish/featurevalues2.xls"
154
    workbook = xlrd.open_workbook(filename)
163
    workbook = xlrd.open_workbook(filename)
155
    sheet = workbook.sheet_by_index(0)
164
    sheet = workbook.sheet_by_index(0)
156
    num_rows = sheet.nrows
165
    num_rows = sheet.nrows
157
    
166
    
158
    writer = csv.writer(open("junglee.csv", "wb"), delimiter='\t', quoting=csv.QUOTE_MINIMAL)
167
    writer = csv.writer(open("junglee.csv", "wb"), delimiter='\t', quoting=csv.QUOTE_MINIMAL)
Line 167... Line 176...
167
                 "Shipping Weight","Weight","Length","Height","Width","Keywords1","Keywords2", "Keywords3","Keywords4",\
176
                 "Shipping Weight","Weight","Length","Height","Width","Keywords1","Keywords2", "Keywords3","Keywords4",\
168
                 "Keywords5","Bullet point1","Bullet point2","Bullet point3","Bullet point4","Bullet point5",\
177
                 "Keywords5","Bullet point1","Bullet point2","Bullet point3","Bullet point4","Bullet point5",\
169
                 "Other image-url1","Other image-url2","Other image-url3","Other image-url4","Other image-url5",
178
                 "Other image-url1","Other image-url2","Other image-url3","Other image-url4","Other image-url5",
170
                 "Offer note","Is Gift Wrap Available","Registered Parameter","Update Delete"])
179
                 "Offer note","Is Gift Wrap Available","Registered Parameter","Update Delete"])
171
    
180
    
172
    for rownum in range(2, num_rows):
181
    for rownum in range(2, num_rows): #2 is used as the starting index because first row is a test product with 12 years of warranty.
173
        unused_categoryName, unused_entityName, entityID, unused_accessories, unused_softwareApplications, unused_pageTitle,\
182
        unused_categoryName, unused_entityName, entityID, unused_accessories, unused_softwareApplications, unused_pageTitle,\
174
        unused_metaDescription, metaKeywords, snippets, shortSnippet, tagline, warranty,\
183
        unused_metaDescription, metaKeywords, snippets, shortSnippet, tagline,\
175
        unused_skinSize, screenSize, unused_screenLeftUpperCornerDimension, unused_modelNameSynonyms, unused_modelNumberSynonyms,\
184
        unused_skinSize, screenSize, unused_screenLeftUpperCornerDimension, unused_modelNameSynonyms, unused_modelNumberSynonyms,\
-
 
185
        warranty, unused_warranty_type, unused_warranty_coverage, \
176
        weight, size, formFactor, color, screenType, screenSize, screenResolution, numberOfColors, keyboardType,\
186
        weight, size, formFactor, color, screenType, screenSize, screenResolution, numberOfColors, keyboardType,\
177
        navigation, touchscreenType, sideControls, multimediaKeys, multipleSIM, voip, network2G,\
187
        navigation, touchscreenType, sideControls, multimediaKeys, multipleSIM, voip, network2G,\
178
        network3G, gprs, edge, g3, wifi, bluetooth, usb, musicFormats, earphone, speakerPhone,\
188
        network3G, gprs, edge, g3, wifi, bluetooth, usb, musicFormats, earphone, speakerPhone,\
179
        fmRadio, internetRadio, ringtoneTypes, fileFormats, streaming, liveTV, hdVideoPlayback,\
189
        fmRadio, internetRadio, ringtoneTypes, fileFormats, streaming, liveTV, hdVideoPlayback,\
180
        resolution, flash, imageFormats, numberOfCameras, secondaryCamera, additionalCameraFeatures,\
190
        resolution, flash, imageFormats, numberOfCameras, secondaryCamera, additionalCameraFeatures,\
181
        builtIn, ram, expansionType, expansionCapacity, batteryType, powerAdaptor, musicPlayback,\
191
        builtIn, ram, expansionType, expansionCapacity, batteryType, powerAdaptor, musicPlayback,\
182
        videoPlayback, tvPlayback, talktime2G, talktime3G, standy2G, standby3G, types, markupLanguages,\
192
        videoPlayback, tvPlayback, talktime2G, talktime3G, standy2G, standby3G, types, markupLanguages,\
183
        unused_http_protocols, unused_browser, unused_mail_protocols, opsys, unused_java, unused_flashPlayer, unused_drm, unused_securityFeatures, unused_gpsType, unused_mms, unused_sms, unused_ems,\
193
        unused_http_protocols, unused_browser, unused_mail_protocols, opsys, unused_java, unused_flashPlayer, unused_drm, unused_securityFeatures, unused_gpsType, unused_mms, unused_sms, unused_ems,\
184
        unused_instantMessaging, unused_email = sheet.row_values(rownum)[0:85]
194
        unused_instantMessaging, unused_email = sheet.row_values(rownum)[0:87]
185
 
195
 
186
        items = catalog_client.getItemsByCatalogId(entityID)
196
        items = catalog_client.getItemsByCatalogId(entityID)
187
        active_items = filter(is_active, items)
197
        active_items = filter(is_active, items)
188
        if not active_items:
198
        if not active_items:
189
            continue
199
            continue
Line 223... Line 233...
223
            length, width, height = ["", "", ""]
233
            length, width, height = ["", "", ""]
224
        else:
234
        else:
225
            list = size.split()
235
            list = size.split()
226
            length, width, height = [list[0], list[2], list[4]] 
236
            length, width, height = [list[0], list[2], list[4]] 
227
        
237
        
-
 
238
        keywords = []
228
        keywords = metaKeywords.split(",")
239
        for keyword in metaKeywords.split(","):
-
 
240
            keywords.append(keyword.strip())
229
        if len(keywords) < 5:
241
        if len(keywords) < 5:
230
            length = len(keywords)
242
            length = len(keywords)
231
            while length < 5:
243
            while length < 5:
232
                keywords.append('')
244
                keywords.append('')
233
                length = length + 1       
245
                length = length + 1       
234
        
246
        
-
 
247
        for keyword in keywords:
-
 
248
            if len(keyword) > 50:
-
 
249
                print keyword
-
 
250
        
235
        for item in active_items:
251
        for item in active_items:
236
            stdProductId = ''
252
            stdProductId = ''
237
            stdProductIdType = ''
253
            stdProductIdType = ''
238
            if not item.color:
254
            if not item.color:
239
                item.color = ''
255
                item.color = ''
-
 
256
            
-
 
257
            mappings = catalog_client.getVendorItemMappings(item.id)
240
            key = get_key(item.brand, item.modelNumber, item.color)
258
            key = get_hotspot_mapping(mappings)
241
            if itemNumberMap.has_key(key):
259
            if key and itemNumberTypeMap.has_key(key):
242
                stdProductId = itemNumberMap[key]
260
                stdProductId = itemNumberMap[key]
243
                stdProductIdType = itemNumberTypeMap[key]
261
                stdProductIdType = itemNumberTypeMap[key]
244
            item_details.append(
262
            item_details.append(
245
                        [item.id, get_title(item), get_url(item), item.sellingPrice, "1", "803546031", stdProductId,\
263
                        [item.id, get_title(item), get_url(item), item.sellingPrice, "1", "803546031", stdProductId,\
246
                         stdProductIdType, "Wireless", tagline, '0', get_image_url(item), item.mrp, "TRUE",\
264
                         stdProductIdType, "Wireless", tagline, '0', get_image_url(item), item.mrp, "TRUE",\