Commit 6aa7e2b2 authored by Cecylia Bocovich's avatar Cecylia Bocovich 💬
Browse files

Retry failed downloads

- also fixed a bug where releases won't be deleted untless the assets
are removed first
parent ee8d5a85
Loading
Loading
Loading
Loading
+17 −4
Original line number Original line Diff line number Diff line
#!/usr/bin/env python3
#!/usr/bin/env python3


#pip3 install PyGithub

from github import Github
from github import Github


import sys
import sys
@@ -11,8 +13,12 @@ REPO_NAME = "TheTorProject/gettorbrowser"


failure = False
failure = False


failed_uploads = []

def delete_old_releases(repo):
def delete_old_releases(repo):
    for release in repo.get_releases():
    for release in repo.get_releases():
        for asset in release.get_assets():
            asset.delete_asset()
        release.delete_release()
        release.delete_release()


#Download list of tor browser releases and upload them to github
#Download list of tor browser releases and upload them to github
@@ -28,12 +34,19 @@ def upload_files(release):
                    subprocess.check_call(["/usr/bin/wget", "--quiet", url])
                    subprocess.check_call(["/usr/bin/wget", "--quiet", url])
                    release.upload_asset(filename)
                    release.upload_asset(filename)
                except:
                except:
                    print("Error: failed to download "+url)
                    print("Error: failed to download "+url+". Will retry later.")
                    print("Please upload this file manually.")
                    failed_uploads.append(url)
    #Retry failed uploads
    for url in failed_uploads:
        filename = url.split('/')[-1]
        try:
            subprocess.check_call(["/usr/bin/wget", "--quiet", url])
            release.upload_asset(filename)
        except:
            print("Error: failed to download "+url+". Please upload this file manually.")
            failure = True
            failure = True





def main(token):
def main(token):


    #Initialize a new release
    #Initialize a new release