Example #1
0
            sys.exit(1)

    else:
        # Remove any drafts to clean broken uploads
        print('Uploading release, please wait, this might take a while!')
        # Upload the latest browser bundles to a new release
        release = upload_new_release(target_repo, version, tb_path)

        # Upload success, publish the release
        release.edit(draft=False)

    # Create the links file for this release
    core = gettor.core.Core(os.path.abspath('../core.cfg'))

    # Erase old links if any and create a new empty one
    core.create_links_file('GitHub', readable_fp)

    print("Creating links file")
    for asset in release.assets:
        url = asset.browser_download_url
        if url.endswith('.asc'):
            continue

        osys, arch, lc = get_bundle_info(asset.name)
        sha256 = get_file_sha256(
            os.path.abspath(os.path.join(tb_path, asset.name))
        )

        link = "{}${}${}$".format(url, url + ".asc", sha256)

        print("Adding {}".format(url))
Example #2
0
    gpg = gnupg.GPG()
    key_data = open(tbb_key).read()
    import_result = gpg.import_keys(key_data)
    fp = import_result.results[0]['fingerprint']

    # make groups of four characters to make fingerprint more readable
    # e.g. 123A 456B 789C 012D 345E 678F 901G 234H 567I 890J
    readable = ' '.join(fp[i:i+4] for i in xrange(0, len(fp), 4))

    try:
        uploaded_files = upload_files(upload_dir, client)
        # use default config
        core = gettor.core.Core('/home/gettor/core.cfg')

        # erase old links
        core.create_links_file('Dropbox', readable)

        # recognize file OS by its extension
        p1 = re.compile('.*\.tar.xz$')
        p2 = re.compile('.*\.exe$')
        p3 = re.compile('.*\.dmg$')

        for file in uploaded_files:
            # build file names
            asc = "%s.asc" % file
            abs_file = os.path.abspath(os.path.join(upload_dir, file))
            abs_asc = os.path.abspath(os.path.join(upload_dir, asc))

            sha_file = get_file_sha256(abs_file)

            # build links
Example #3
0
    readable = ' '.join(fp[i:i + 4] for i in xrange(0, len(fp), 4))

    try:
        # helpful when something fails but files are uploaded.
        if args.links:
            uploaded_files = get_files_links(drive_service, args.links)

            if not uploaded_files:
                raise ValueError("There are no files for that version")
        else:
            uploaded_files = upload_files(drive_service, upload_dir)
        # use default config
        core = gettor.core.Core('/home/gettor/core.cfg')

        # erase old links
        core.create_links_file('Drive', readable)

        # recognize file OS by its extension
        p1 = re.compile('.*\.tar.xz$')
        p2 = re.compile('.*\.exe$')
        p3 = re.compile('.*\.dmg$')
        p4 = re.compile('.*\.asc$')

        for file in uploaded_files.keys():
            # only run for tor browser installers
            if p4.match(file):
                continue
            asc = "%s.asc" % file
            abs_file = os.path.abspath(os.path.join(upload_dir, file))
            abs_asc = os.path.abspath(os.path.join(upload_dir, asc))
Example #4
0
            sys.exit(1)

    else:
        # Remove any drafts to clean broken uploads
        print('Uploading release, please wait, this might take a while!')
        # Upload the latest browser bundles to a new release
        release = upload_new_release(target_repo, version, tb_path)

        # Upload success, publish the release
        release.edit(draft=False)

    # Create the links file for this release
    core = gettor.core.Core(core_path)

    # Erase old links if any and create a new empty one
    core.create_links_file('GitHub', readable_fp)

    print("Creating links file")
    for asset in release.assets():
        url = asset.browser_download_url
        if url.endswith('.asc'):
            continue

        osys, arch, lc = get_bundle_info(asset.name)
        sha256 = get_file_sha256(
            os.path.abspath(os.path.join(tb_path, asset.name)))

        link = "{}${}${}$".format(url, url + ".asc", sha256)

        print("Adding {}".format(url))
        core.add_link('GitHub', osys, lc, link)
Example #5
0
    gpg = gnupg.GPG()
    key_data = open(tbb_key).read()
    import_result = gpg.import_keys(key_data)
    fp = import_result.results[0]['fingerprint']

    # make groups of four characters to make fingerprint more readable
    # e.g. 123A 456B 789C 012D 345E 678F 901G 234H 567I 890J
    readable = ' '.join(fp[i:i+4] for i in xrange(0, len(fp), 4))

    try:
        uploaded_files = upload_files(drive_service, upload_dir)
        # use default config
        core = gettor.core.Core('/home/gettor/core.cfg')

        # erase old links
        core.create_links_file('Drive', readable)

        # recognize file OS by its extension
        p1 = re.compile('.*\.tar.xz$')
        p2 = re.compile('.*\.exe$')
        p3 = re.compile('.*\.dmg$')
        p4 = re.compile('.*\.asc$')

        for file in uploaded_files.keys():
            # only run for tor browser installers
            if p4.match(file):
               continue
            asc = "%s.asc" % file
            abs_file = os.path.abspath(os.path.join(upload_dir, file))
            abs_asc = os.path.abspath(os.path.join(upload_dir, asc))
Example #6
0
    gpg = gnupg.GPG()
    key_data = open(tbb_key).read()
    import_result = gpg.import_keys(key_data)
    fp = import_result.results[0]['fingerprint']

    # make groups of four characters to make fingerprint more readable
    # e.g. 123A 456B 789C 012D 345E 678F 901G 234H 567I 890J
    readable = ' '.join(fp[i:i + 4] for i in xrange(0, len(fp), 4))

    try:
        uploaded_files = upload_files(upload_dir, client)
        # use default config
        core = gettor.core.Core('/home/gettor/core.cfg')

        # erase old links
        core.create_links_file('Dropbox', readable)

        # recognize file OS by its extension
        p1 = re.compile('.*\.tar.xz$')
        p2 = re.compile('.*\.exe$')
        p3 = re.compile('.*\.dmg$')

        for file in uploaded_files:
            # build file names
            asc = "%s.asc" % file
            abs_file = os.path.abspath(os.path.join(upload_dir, file))
            abs_asc = os.path.abspath(os.path.join(upload_dir, asc))

            sha_file = get_file_sha256(abs_file)

            # build links
Example #7
0
        git.add("%s" % version)
        git.commit(m=version)
        git.push()

        # it takes a while to process the recently pushed files
        print "Wait a few seconds before asking for the links to Github..."
        time.sleep(wait_time)

    print "Trying to get the links"
    gh = github.GitHub(gh_token, None)
    repocontent = gh.repo(user, repo).contents().get("%s" % version)

    core = gettor.core.Core(os.path.abspath("core.cfg"))

    # erase old links, if any
    core.create_links_file("GitHub", readable_fp)

    for file in repocontent:
        # e.g. https://raw.githubusercontent.com/gettorbrowser/dl/master/4.0.7/TorBrowser-4.0.4-osx32_en-US.dmg
        m = re.search("%s.*\/(.*)" % raw_content, file[u"download_url"])
        if m:
            filename = m.group(1)
            # get bundle info according to its OS
            if re.match(".*\.exe$", filename):
                osys, arch, lc = get_bundle_info(filename, "windows")
                filename_asc = filename.replace("exe", "exe.asc")

            elif re.match(".*\.dmg$", filename):
                osys, arch, lc = get_bundle_info(filename, "osx")
                filename_asc = filename.replace("dmg", "dmg.asc")