46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
import sys
|
|
import os
|
|
from contextlib import contextmanager
|
|
|
|
|
|
@contextmanager
|
|
def cd(path):
|
|
path = os.path.normpath(path)
|
|
cwd = os.getcwd()
|
|
os.chdir(path)
|
|
print("cd " + path)
|
|
try:
|
|
yield path
|
|
finally:
|
|
os.chdir(cwd)
|
|
|
|
|
|
if len(sys.argv) != 4:
|
|
print('Usage: {} [wheel to rename] [commit id] [platform tag]'.format(sys.argv[0]))
|
|
sys.exit(1)
|
|
|
|
|
|
whl_path = sys.argv[1]
|
|
commit_id = sys.argv[2]
|
|
platform_tag = sys.argv[3]
|
|
|
|
dirname, basename = os.path.dirname(whl_path), os.path.basename(whl_path)
|
|
|
|
with cd(dirname):
|
|
tokens = basename.split('-')
|
|
assert len(tokens) == 5
|
|
version = tokens[1].split('+')[0]
|
|
keywords = {'pkg_name': tokens[0],
|
|
'version': version,
|
|
'commit_id': commit_id,
|
|
'platform_tag': platform_tag}
|
|
new_name = '{pkg_name}-{version}+{commit_id}-py3-none-{platform_tag}.whl'.format(**keywords)
|
|
print('Renaming {} to {}...'.format(basename, new_name))
|
|
if os.path.isfile(new_name):
|
|
os.remove(new_name)
|
|
os.rename(basename, new_name)
|
|
|
|
filesize = os.path.getsize(new_name) / 1024 / 1024 # MB
|
|
msg = f"Limit of wheel size set by PyPI is exceeded. {new_name}: {filesize}"
|
|
assert filesize <= 300, msg
|