11#! /usr/bin/env python3
2- import argparse , base64 , common , glob , json , os , platform , re , subprocess , sys , urllib .request , zipfile
2+ import argparse , base64 , common , glob , json , os , platform , re , subprocess , sys , urllib .request , urllib . error , zipfile
33
44def log_errors (name ):
55 def wrap (f ):
@@ -34,7 +34,6 @@ def github_headers():
3434 'Authorization' : auth
3535 }
3636
37- @log_errors ("github_release" )
3837def github_release (version ):
3938 zip = f"Fira_Code_v{ version } .zip"
4039
@@ -43,14 +42,21 @@ def github_release(version):
4342
4443 data = '{"tag_name":"' + version + '","name":"' + version + '"}'
4544 headers = github_headers ()
46- resp = urllib .request .urlopen (urllib .request .Request (f'https://api.github.com/repos/{ repo } /releases' , data = data .encode ('utf-8' ), headers = headers )).read ()
47- upload_url = re .match ('https://.*/assets' , json .loads (resp .decode ('utf-8' ))['upload_url' ]).group (0 )
45+
46+ try :
47+ req = urllib .request .Request (f'https://api.github.com/repos/{ repo } /releases' , data = data .encode ('utf-8' ), headers = headers )
48+ resp = urllib .request .urlopen (req ).read ()
49+ upload_url = re .match ('https://.*/assets' , json .loads (resp .decode ('utf-8' ))['upload_url' ]).group (0 )
4850
49- print ('github_release: Uploading' , zip , 'to' , upload_url )
50- headers ['Content-Type' ] = 'application/zip'
51- headers ['Content-Length' ] = os .path .getsize (zip )
52- with open (zip , 'rb' ) as data :
53- urllib .request .urlopen (urllib .request .Request (upload_url + '?name=' + zip , data = data , headers = headers ))
51+ print ('github_release: Uploading' , zip , 'to' , upload_url )
52+ headers ['Content-Type' ] = 'application/zip'
53+ headers ['Content-Length' ] = os .path .getsize (zip )
54+ with open (zip , 'rb' ) as data :
55+ urllib .request .urlopen (urllib .request .Request (upload_url + '?name=' + zip , data = data , headers = headers ))
56+ except urllib .error .HTTPError as e :
57+ print (f"github_release: HTTP Error { e .code } { e .reason } " )
58+ print (e .read ().decode ('utf-8' ))
59+ raise e
5460
5561@log_errors ("npm_publish" )
5662def npm_publish (version ):
0 commit comments