source: proto/xmlschema/src/shiporder_gen.py @ 3541

Last change on this file since 3541 was 3541, checked in by shiyangy, 6 years ago

perf script added

File size: 4.0 KB
Line 
1import random
2
3
4def price_gen(s,e):
5        price = str(random.randint(1,100)+round(random.random(),2))
6        num = random.randint(s,e)
7        for i in range(num):
8                price += ' '+str(random.randint(1,100)+round(random.random(),2))
9        return price
10
11def gen(n1,n2,d1,d2):
12
13        name_lst = ['Bruna Gullett','Terrence Stearns', 'Perry Sensabaugh',
14        'Dominique Bloch',
15        'Moon Beaudette',
16        'Lucilla Sloan',
17        'Denis Driggs',
18        'Wilma Hudkins'  ,
19        'Flora Singh'  ,
20        'Elia Brasil'  ,
21        'Margherita Session'  ,
22        'Von Teitelbaum'  ,
23        'Amparo Zoll'  ,
24        'Mika Brann'  ,
25        'Adrian Paisley'  ,
26        'My Boulanger'  ,
27        'Conchita Klein' , 
28        'Lina Earnest'  ,
29        'Ervin Erler'  ,
30        'Lawerence Backes'  ]
31
32        note_lst = ['Special Edition']
33
34        f_street_name = open('street_name_list','r')
35        street_lst = []
36        s = f_street_name.readlines()
37        for line in s:
38                street_lst.append(line[:-1])
39
40        f_street_name.close()
41
42        f_city_name = open('city_name_list','r')
43        city_lst = []
44        s = f_city_name.readlines()
45        for line in s:
46                city_lst.append(line[:-1])     
47
48        f_city_name.close()
49
50        f_country_name = open('country_name_list','r')
51        country_lst = []
52        s = f_country_name.readlines()
53        for line in s:
54                country_lst.append(line[:-1])   
55
56        f_country_name.close()
57
58        f_item_name = open('item_name_list','r')
59        item_lst = []
60        s = f_item_name.readlines()
61        for line in s:
62                item_lst.append(line[:-1])     
63
64        f_item_name.close()
65       
66        lgth_street_lst = len(street_lst)
67
68        lgth_name_lst = len(name_lst)
69
70        lgth_city_lst = len(city_lst)
71
72        lgth_country_lst = len(country_lst)
73
74        lgth_item_lst = len(item_lst)
75
76        lgth_note_lst = len(note_lst)
77
78
79        count_1 = 0
80        count_2 = 0
81
82        fout = open('shiporder_new.xml','w')
83        s = "<?xml version='1.0' encoding='UTF-8' ?>\n\n"
84        count_1 += len(s)
85        fout.write(s)
86
87        s = '<records xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n xsi:noNamespaceSchemaLocation="shiporder.xsd">\n'
88        count_1 += len(s)
89        fout.write(s)
90        name_s = n1
91        name_e = n2
92        number_order = random.randint(name_s,name_e)
93        price_s = d1
94        price_e = d2
95
96
97        for i in range(number_order):
98                s = '<shiporder orderid="'
99                count_1 += len(s)
100                fout.write(s)
101                orderid = random.randint(100000,999999)
102                count_1 += len(str(orderid)+'">\n')
103                fout.write(str(orderid)+'">\n')
104                s = "\t<orderperson>"
105                name_index = random.randint(0,lgth_name_lst-1)
106                name = name_lst[name_index]
107                s = s + name+"</orderperson>\n"
108                count_1 += len(s)
109                fout.write(s)
110                s = '\t<shipto>\n'
111                count_1 += len(s)
112                fout.write(s)
113                name_index = random.randint(0,lgth_name_lst-1)
114                name = name_lst[name_index]
115                s = '\t\t<name>'+name+'</name>\n'
116                count_1 += len(s)
117                fout.write(s)
118                name_index = random.randint(0,lgth_street_lst-1)
119                name = street_lst[name_index]
120                s = '\t\t<address>'+name+' '+str(random.randint(1,10000))+'</address>\n'
121                count_1 += len(s)
122                fout.write(s)
123                name_index = random.randint(0,lgth_city_lst-1)
124                name = city_lst[name_index]
125                s = '\t\t<city>'+name+'</city>\n'
126                count_1 += len(s)
127                fout.write(s)
128                name_index = random.randint(0,lgth_country_lst-1)
129                name = country_lst[name_index]
130                s = '\t\t<country>'+name+'</country>\n'
131                count_1 += len(s)
132                fout.write(s)
133                s = '\t</shipto>\n'
134                count_1 += len(s)
135                fout.write(s)
136       
137                number_item = random.randint(1,10)
138                for j in range(number_item):
139                        s = '\t<item>\n'
140                        count_1 += len(s)
141                        fout.write(s)
142                        name_index = random.randint(0,lgth_item_lst-1)
143                        name = item_lst[name_index]
144                        s = '\t\t<title>'+name+'</title>\n'
145                        count_1 += len(s)
146                        fout.write(s)
147                        temp = random.randint(1,2)
148                        if temp == 2:
149                                index = random.randint(0,lgth_note_lst-1) 
150                                note = note_lst[index]
151                                s = '\t\t<note>'+note+'</note>\n'
152                                count_1 += len(s)
153                                fout.write(s)
154                        s = '\t\t<quantity>'+str(random.randint(1,100))+'</quantity>\n'
155                        count_1 += len(s)
156                        fout.write(s)
157                        price = price_gen(price_s,price_e)
158                        count_2 += len(price)
159                        s = '\t\t<price>'+price+'</price>\n'
160                        count_1 += len(s)
161                        fout.write(s)
162                        s = '\t</item>\n'
163                        count_1 += len(s)
164                        fout.write(s)
165                s = '</shiporder>\n'
166                count_1 += len(s)
167                fout.write(s)
168        s = '</records>\n'
169        count_1 += len(s)
170        fout.write(s)           
171        return count_1,count_2
172               
173               
174               
175               
176               
177       
178       
179       
180       
181       
182       
183       
184       
185       
186       
187       
188       
189       
190       
191       
192
Note: See TracBrowser for help on using the repository browser.