@@ -13,60 +13,6 @@ def get_headers(api, token):
1313 'Accept' : 'application/octet-stream'
1414 }
1515
16- def fetch_specified_release_version (repo , token , tag ):
17- api_headers = get_headers (True , token )
18- url = f'https://api.github.com/repos/{ repo } /releases'
19-
20- # First: 5 fast attempts (5s timeout)
21- for attempt in range (1 , 6 ):
22- try :
23- print (f'GitHub API attempt { attempt } /5 (timeout=10s)' )
24- response = requests .get (url , headers = api_headers , timeout = 10 )
25- response .raise_for_status ()
26- return support .get_specified_release (repo , api_headers , tag )
27-
28- except requests .exceptions .RequestException as e :
29- last_exception = e
30- print (f'\033 [93mAttempt { attempt } failed:\033 [0m { e } ' )
31-
32- # Final fallback attempt (600s timeout)
33- try :
34- print ('Final attempt with extended timeout (600s)' )
35- response = requests .get (url , headers = api_headers , timeout = 600 )
36- response .raise_for_status ()
37- return support .get_specified_release (repo , api_headers , tag )
38-
39- except requests .exceptions .RequestException as e :
40- print ('\033 [91mFinal attempt failed too\033 [0m' )
41- raise last_exception from e
42-
43- def fetch_latest_release_version (repo , token ):
44- api_headers = get_headers (True , token )
45- url = f'https://api.github.com/repos/{ repo } /releases/latest'
46-
47- # First: 5 fast attempts (5s timeout)
48- for attempt in range (1 , 6 ):
49- try :
50- print (f'GitHub API attempt { attempt } /5 (timeout=10s)' )
51- response = requests .get (url , headers = api_headers , timeout = 10 )
52- response .raise_for_status ()
53- return response .json ()
54-
55- except requests .exceptions .RequestException as e :
56- last_exception = e
57- print (f'\033 [93mAttempt { attempt } failed:\033 [0m { e } ' )
58-
59- # Final fallback attempt (600s timeout)
60- try :
61- print ('Final attempt with extended timeout (600s)' )
62- response = requests .get (url , headers = api_headers , timeout = 600 )
63- response .raise_for_status ()
64- return response .json ()
65-
66- except requests .exceptions .RequestException as e :
67- print ('\033 [91mFinal attempt failed too\033 [0m' )
68- raise last_exception from e
69-
7016def fetch_existing_asset_names (release ):
7117 return [asset ['name' ] for asset in release ['assets' ]]
7218
@@ -75,15 +21,15 @@ def main(token, repo, current_tag, previous_tag):
7521
7622 print ('\033 [96mFetching the current tag release info...\033 [0m' )
7723 if current_tag != "latest" :
78- current_release = fetch_specified_release_version (repo , token , current_tag )
24+ current_release = support . get_specified_release (repo , get_headers ( True , token ) , current_tag )
7925 else :
80- current_release = fetch_latest_release_version (repo , token )
26+ current_release = support . get_latest_release (repo , get_headers ( True , token ) )
8127
8228 print ('\033 [96mFetching the current tag release info...\033 [0m' )
8329 if previous_tag != "latest" :
84- previous_release = fetch_specified_release_version (repo , token , previous_tag )
30+ previous_release = support . get_specified_release (repo , get_headers ( True , token ), current_tag )
8531 else :
86- previous_release = fetch_latest_release_version (repo , token )
32+ previous_release = support . get_latest_release (repo , get_headers ( True , token ) )
8733
8834 current_assets = [package .replace ('.7z' , '' ) for package in fetch_existing_asset_names (current_release )]
8935 previous_assets = [package .replace ('.7z' , '' ) for package in fetch_existing_asset_names (previous_release )]
0 commit comments