@@ -105,9 +105,10 @@ def building_reader(pkg_name: str, p: subprocess.Popen, pbar: tqdm = None) -> tu
105
105
106
106
def gen_packages (
107
107
plat : str = 'win' ,
108
- since : str = None , until : str = None ,
108
+ since : str = None ,
109
109
only : str = None ,
110
- retry : bool = False , ver : str = None
110
+ retry : bool = False ,
111
+ ver : str = None
111
112
):
112
113
if only :
113
114
print (f'Building { only } ...' )
@@ -136,17 +137,20 @@ def gen_packages(
136
137
else :
137
138
index = packages .index (since )
138
139
if index > 0 :
139
- packages = ['NotARealPackage' ] * index + packages [index :]
140
+ packages = packages [index :]
141
+
142
+ return packages
143
+
140
144
145
+ def gen_until_index (packages : list , until : str = None ):
141
146
if until :
142
147
if until .isdigit ():
143
148
until_index = int (until )
144
149
else :
145
150
until_index = packages .index (until )
146
151
else :
147
152
until_index = len (packages )
148
-
149
- return packages , until_index
153
+ return until_index
150
154
151
155
152
156
def build (
@@ -161,7 +165,8 @@ def build(
161
165
exit (1 )
162
166
163
167
print (f'Building wheels for pypy { ver } ...' )
164
- packages , until_index = gen_packages (plat , since , until , only , retry , ver )
168
+ packages = gen_packages (plat , since , only , retry , ver )
169
+ until_index = gen_until_index (packages , until )
165
170
success = []
166
171
failed = []
167
172
@@ -193,13 +198,21 @@ def build(
193
198
if EXTRA_CDN not in pip_conf :
194
199
extra_index_flag = f'--extra-index-url { EXTRA_INDEX_URL } '
195
200
201
+ if since :
202
+ if since .isdigit ():
203
+ since_index = int (since )
204
+ else :
205
+ with open (f'{ pkg_dir } /packages.txt' , 'r' ) as f :
206
+ all_packages = f .read ().splitlines ()
207
+ since_index = all_packages .index (since )
208
+ else :
209
+ since_index = 0
210
+
196
211
env = os .environ
197
- pbar = tqdm (packages )
212
+ pbar = tqdm (packages , initial = since_index , total = len ( packages ) + since_index )
198
213
count = 0
199
214
for pkg in pbar :
200
- if pkg == 'NotARealPackage' :
201
- continue
202
- pbar .set_description (f'S: { len (success )} , F: { len (failed )} , C: { pkg } ' )
215
+ pbar .set_description (f'S: { len (success )} F: { len (failed )} C: { pkg } ' )
203
216
command = (
204
217
f'{ py_path } -m '
205
218
f'pip install -U -v '
@@ -225,13 +238,12 @@ def build(
225
238
226
239
error_log = f'log/{ ver } /{ pkg } .log'
227
240
if is_success_build (pkg , result , error ):
228
- pbar .write ('########## SUCCESS ##########' )
229
241
success .append (pkg )
242
+ pbar .write (f'\n \n 🎉 { pkg } 🎉\n \n ' )
230
243
count += 1
231
244
if os .path .isfile (error_log ):
232
245
os .remove (error_log )
233
246
pbar .write (f'Removed { error_log } ' )
234
- pbar .write ('########## END ##########' )
235
247
else :
236
248
failed .append (pkg )
237
249
# pbar.write(result)
@@ -246,6 +258,7 @@ def build(
246
258
f .write (result + error )
247
259
pbar .write (f'Log saved to { error_log } ' )
248
260
pbar .write ('########## END ##########' )
261
+ pbar .write ('\n ' )
249
262
250
263
current_index = packages .index (pkg )
251
264
if current_index >= until_index :
@@ -269,14 +282,14 @@ def build(
269
282
failed .append (pkg )
270
283
pbar .write (str (e ))
271
284
272
- pbar .write (f'Success: { len (success )} , Failed: { len (failed )} ' )
285
+ pbar .write (f'Success: { len (success )} Failed: { len (failed )} ' )
273
286
return success , failed
274
287
275
288
276
289
NO_UNINST = [
277
290
'pip' , 'setuptools' , 'wheel' ,
278
- 'certifi' , 'wrapt' ,
279
- 'semantic_version'
291
+ 'certifi' , 'cffi' , 'greenlet' , 'hpy' , 'readline' , ' wrapt' ,
292
+ 'semantic_version' ,
280
293
]
281
294
282
295
@@ -290,7 +303,7 @@ def uninst_all(ver: str, py_path: str, plat: str = 'win', upper_pbar: tqdm = Non
290
303
291
304
pbar = tqdm (pkgs )
292
305
for pkg in pbar :
293
- if any ([ i in pkg for i in NO_UNINST ] ):
306
+ if any (pkg . startswith ( f' { p } ==' ) for p in NO_UNINST ):
294
307
continue
295
308
p = subprocess .Popen (f'{ uninst_cmd } { pkg } ' .split (), stdout = subprocess .PIPE , stderr = subprocess .PIPE )
296
309
popen_reader (p , pbar )
@@ -300,9 +313,6 @@ def uninst_all(ver: str, py_path: str, plat: str = 'win', upper_pbar: tqdm = Non
300
313
p = subprocess .Popen (uninst_cmd , stdout = subprocess .PIPE , stderr = subprocess .PIPE , shell = True )
301
314
popen_reader (p , upper_pbar )
302
315
303
- if os .path .exists (f'freeze.{ ver } .txt' ):
304
- os .remove (f'freeze.{ ver } .txt' )
305
-
306
316
# ensure tools
307
317
p = subprocess .Popen (
308
318
f'{ py_path } -m pip install' .split () + NO_UNINST ,
0 commit comments