Subversion Repositories SmartDukaan

Rev

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

Rev 18365 Rev 18373
Line 26... Line 26...
26
    import sys
26
    import sys
27
    import os
27
    import os
28
    sys.path.insert(0, os.getcwd())
28
    sys.path.insert(0, os.getcwd())
29
 
29
 
30
 
30
 
31
def load_item_data(filename, lineNumber=None):
31
def load_item_data(filename, start, end):
32
    message="Done successfully"
32
    print filename, start, end
-
 
33
    #return
33
    workbook = xlrd.open_workbook(filename)
34
    workbook = xlrd.open_workbook(filename)
34
    sheet = workbook.sheet_by_index(0)
35
    sheet = workbook.sheet_by_index(0)
35
    num_rows = sheet.nrows
-
 
36
    updatedOn = to_java_date(datetime.datetime.now())
36
    updatedOn = to_java_date(datetime.datetime.now())
37
    cclient = CatalogClient().get_client()
37
    cclient = CatalogClient().get_client()
38
    prodClient = CatalogClient("catalog_service_server_host_prod").get_client()
38
    prodClient = CatalogClient("catalog_service_server_host_prod").get_client()
39
    iclient = InventoryClient().get_client()
39
    iclient = InventoryClient().get_client()
40
 
40
 
Line 51... Line 51...
51
        if tcategory.id not in parent_category_ids:
51
        if tcategory.id not in parent_category_ids:
52
            categoryMap[tcategory.label] = tcategory.id
52
            categoryMap[tcategory.label] = tcategory.id
53
        
53
        
54
    message = ""
54
    message = ""
55
    
55
    
56
    if lineNumber is None:
-
 
57
        start = 1
-
 
58
        end = num_rows
-
 
59
    else:
-
 
60
        lineNumber = int(lineNumber)
-
 
61
        start = lineNumber
-
 
62
        end = min(lineNumber + 3, num_rows)    
-
 
63
    for rownum in range(start, end):
56
    for rownum in range(start, end):
64
        states = {}
57
        states = {}
65
        try:
58
        try:
66
            itemID, product_group, category_name, brand, model_number, model_name, color, mrp, sp, mop, dp, tp, nlc, start_date, preferred_vendor, risky, weight, item_type, states[0], states[3], states[1], states[2]  = sheet.row_values(rownum)[0:22]
59
            itemID, product_group, category_name, brand, model_number, model_name, color, mrp, sp, mop, dp, tp, nlc, start_date, preferred_vendor, risky, weight, item_type, states[0], states[3], states[1], states[2]  = sheet.row_values(rownum)[0:22]
67
            if isinstance(model_number, float):
60
            if isinstance(model_number, float):
Line 133... Line 126...
133
                    break
126
                    break
134
                except Exception as e:
127
                except Exception as e:
135
                    cclient = CatalogClient().get_client()       
128
                    cclient = CatalogClient().get_client()       
136
            vip = VendorItemPricing()
129
            vip = VendorItemPricing()
137
            vip.itemId = item_id
130
            vip.itemId = item_id
138
            vip.dealerPrice = round(dp)
131
            vip.dealerPrice = round(dp,2)
139
            vip.mop = round(mop)
132
            vip.mop = round(mop,2)
140
            vip.nlc = round(nlc)
133
            vip.nlc = round(nlc,2)
141
            vip.transferPrice = round(tp)
134
            vip.transferPrice = round(tp,2)
142
            vip.vendorId = preferred_vendor
135
            vip.vendorId = preferred_vendor
143
            for c in (1,2,3,4,5):
136
            for c in (1,2,3,4,5):
144
                try:
137
                try:
145
                    iclient.addVendorItemPricing(vip)
138
                    iclient.addVendorItemPricing(vip)
146
                    break
139
                    break
Line 149... Line 142...
149
                    
142
                    
150
        except:
143
        except:
151
            traceback.print_exc()
144
            traceback.print_exc()
152
            message = message + "\t" + str(brand) + "\t" + str(model_name) + "\t" + str(model_number) + "\t" + "\n"
145
            message = message + "\t" + str(brand) + "\t" + str(model_name) + "\t" + str(model_number) + "\t" + "\n"
153
    print message
146
    print message
154
    mail("build@shop2020.in", "cafe@nes", ["amit.gupta@shop2020.in", "chandan.kumar@shop2020.in"], "Problem while adding items", message, [], [], [])    
147
    #mail("build@shop2020.in", "cafe@nes", ["amit.gupta@shop2020.in", "chandan.kumar@shop2020.in"], "Problem while adding items", message, [], [], [])    
155
    print "Successfully updated the item list information."
148
    print "Successfully updated the item list information."
156
 
149
 
157
 
150
 
158
def main():
151
def main():
159
    parser = optparse.OptionParser()
152
    parser = optparse.OptionParser()
160
    parser.add_option("-f", "--file", dest="filename", 
153
    parser.add_option("-f", "--file", dest="filename", 
161
                   default="ItemList.xls", type="string",
154
                   default="ItemList.xls", type="string",
162
                   help="Read the item list from FILE",
155
                   help="Read the item list from FILE",
163
                   metavar="FILE")
156
                   metavar="FILE")
164
    parser.add_option("-l", "--line", dest="linenumber", 
157
    parser.add_option("-l", "--line", dest="totallines", 
165
                   default="ItemList.xls", type="string",
158
                   default="ItemList.xls", type="string",
166
                   help="Line to start from",
159
                   help="Line to start from",
167
                   metavar="FILE")
160
                   metavar="FILE")
168
    (options, args) = parser.parse_args()
161
    (options, args) = parser.parse_args()
169
    if len(args) != 0:
162
    if len(args) != 0:
170
        parser.error("You've supplied extra arguments. Are you sure you want to run this program?")
163
        parser.error("You've supplied extra arguments. Are you sure you want to run this program?")
171
    filename = options.filename
164
    filename = options.filename
172
    linenumber = options.linenumber
165
    totallines = int(options.totallines)
-
 
166
    #totallines = 13
-
 
167
    itemsLeft = True
-
 
168
    lineNumbers=1
-
 
169
    oneIter=4
-
 
170
    while itemsLeft:
173
    load_item_data(filename, linenumber)
171
        start = lineNumbers
-
 
172
        end = min(lineNumbers + oneIter, totallines+1)#exclude last
-
 
173
        p=Process(target=load_item_data, args=(filename, start, end,))
-
 
174
        p.start()
-
 
175
        p.join()
-
 
176
        time.sleep(5)
-
 
177
        start=end
-
 
178
        if start==totallines + 1:
-
 
179
            itemsLeft = False
174
 
180
    
175
if __name__ == '__main__':
181
if __name__ == '__main__':
176
    main()
182
    main()