Example #1
0
def main():
    # initalize state array
    state = []
    with io.open("flyingcarpet.portable.ghstate", "a+") as f:
        f.seek(0)  # why I have to do this is unknown
        for _, line in enumerate(f):
            state.append(line)
    f = io.open("flyingcarpet.portable.ghstate", "a+")
    # connect to github api
    gh = Github(os.environ['GH_TOKEN'])
    flyingcarpet = gh.get_repo("spieglt/flyingcarpet")
    for rel in flyingcarpet.get_releases():
        pushed = False
        for i in range(len(state)):
            if str(state[i]).replace("\n", "") == str(rel.id):
                pushed = True
                break
            else:
                continue
        if not pushed:
            asset = get_correct_release_asset(rel.get_assets(),
                                              "CLI.Windows",
                                              None)
            if asset == None:
                print("no compatible releases, skipping...")
                f.write(str(rel.id)+"\n")
                f.flush()
                continue
            url = asset.browser_download_url
            fname = asset.name
            subprocess.call(["wget",
                             url,
                             "--output-document",
                             "flyingcarpet-cli.zip"])
            chksum = checksum.get_for_file("flyingcarpet-cli.zip", "sha512")
            os.remove("flyingcarpet-cli.zip")
            tempdir = tempfile.mkdtemp()
            find_and_replace_templates("flyingcarpet.portable",
                                       tempdir,
                                       rel.tag_name.replace("v", ""),
                                       rel.tag_name,
                                       url,
                                       chksum,
                                       fname,
                                       None,
                                       None,
                                       None,
                                       rel.body.replace("<", "&lt;")
                                               .replace(">", "&gt;")
                                               .replace("&", "&amp;")
                                               .replace("\u200b", ""))  # zero-width space
            abort_on_nonzero(subprocess.call(["choco",
                                              "pack",
                                              Path(tempdir)/"flyingcarpet.portable.nuspec"]))
            f.write(str(rel.id)+"\n")
            f.flush()
        else:
            continue

    f.close()
Example #2
0
def main():
    # initalize state array
    state = []
    with io.open("gallery-dl.ghstate", "a+") as f:
        f.seek(0)  # why I have to do this is unknown
        for _, line in enumerate(f):
            state.append(line)
    f = io.open("gallery-dl.ghstate", "a+")
    # connect to github api
    gh = Github(os.environ['GH_TOKEN'])
    gallerydl = gh.get_repo("mikf/gallery-dl")
    for rel in gallerydl.get_releases():
        pushed = False
        for i in range(len(state)):
            if str(state[i]).replace("\n", "") == str(rel.id):
                pushed = True
                break
            else:
                continue
        if not pushed:
            asset = get_correct_release_asset(rel.get_assets(),
                                              ".exe",
                                              ".sig")
            if asset is None:
                print("no compatible releases, skipping...")
                f.write(str(rel.id)+"\n")
                f.flush()
                continue
            url = asset.browser_download_url
            fname = asset.name
            subprocess.call(["wget",
                             url,
                             "--output-document",
                             fname])
            chksum = checksum.get_for_file(fname, "sha512")
            tempdir = tempfile.mkdtemp()
            find_and_replace_templates("gallery-dl",
                                       tempdir,
                                       rel.tag_name.strip("v")
                                                   .replace("-dev.1", "-dev1"),
                                       rel.tag_name,
                                       url,
                                       chksum,
                                       fname,
                                       None,
                                       None,
                                       None,
                                       rel.body.replace("<", "&lt;")
                                               .replace(">", "&gt;"))
            os.rename(fname, os.path.join(tempdir, "tools", fname))
            abort_on_nonzero(subprocess.call(["choco",
                                              "pack",
                                              Path(tempdir)/"gallery-dl.nuspec"]))
            f.write(str(rel.id)+"\n")
            f.flush()
        else:
            continue

    f.close()
def main():
    # initalize state array
    state = []
    with io.open("rust-analyzer.ghstate", "a+") as f:
        f.seek(0)  # why I have to do this is unknown
        for _, line in enumerate(f):
            state.append(line)
    f = io.open("rust-analyzer.ghstate", "a+")
    # connect to github api
    gh = Github(os.environ['GH_TOKEN'])
    rustlsp = gh.get_repo("rust-analyzer/rust-analyzer")
    for rel in rustlsp.get_releases():
        pushed = False
        for i in range(len(state)):
            if str(state[i]).replace("\n", "") == str(rel.id):
                pushed = True
                break
            else:
                continue
        if not pushed:
            asset = get_correct_release_asset(rel.get_assets(),
                                              "x86_64-pc-windows-msvc.gz",
                                              None)
            if asset is None:
                continue
            url = asset.browser_download_url
            subprocess.call(["wget", url])
            chksum = checksum.get_for_file(asset.name, "sha512")
            abort_on_nonzero(subprocess.call(["7z", "e", asset.name]))
            os.remove(asset.name)
            fname = "rust-analyzer.exe"  # override file name
            os.rename(asset.name.split(".")[0], fname)

            tempdir = tempfile.mkdtemp()
            if "nightly" in rel.title:
                t = rel.published_at
                find_and_replace_templates(
                    "rust-analyzer", tempdir,
                    "{}.{}.{}-nightly".format(t.year, t.month, t.day),
                    rel.tag_name, url, chksum, fname, None, None, None, None)
            else:
                find_and_replace_templates("rust-analyzer", tempdir,
                                           rel.title.replace("-", "."),
                                           rel.tag_name, url, chksum, fname,
                                           None, None, None, None)
            os.rename(fname, os.path.join(tempdir, "tools", fname))
            abort_on_nonzero(
                subprocess.call(
                    ["choco", "pack",
                     Path(tempdir) / "rust-analyzer.nuspec"]))
            f.write(str(rel.id) + "\n")
            f.flush()
        else:
            continue

    f.close()
def main():
    # initalize state array
    state = []
    with io.open("omnisharp.ghstate", "a+") as f:
        f.seek(0)  # why I have to do this is unknown
        for _, line in enumerate(f):
            state.append(line)
    f = io.open("omnisharp.ghstate", "a+")
    # connect to github api
    gh = Github(os.environ['GH_TOKEN'])
    repo = gh.get_repo("OmniSharp/omnisharp-roslyn")
    for rel in repo.get_releases():
        pushed = False
        for i in range(len(state)):
            if str(state[i]).replace("\n", "") == str(rel.id):
                pushed = True
                break
            else:
                continue
        if not pushed:
            asset = get_correct_release_asset(rel.get_assets(), "win-x86.zip",
                                              "http")
            asset64 = get_correct_release_asset(rel.get_assets(),
                                                "win-x64.zip", "http")
            if asset == None or asset64 == None:
                print("no compatible releases, skipping...")
                f.write(str(rel.id) + "\n")
                f.flush()
                continue
            tempdir = tempfile.mkdtemp()
            url = asset.browser_download_url
            fname = asset.name
            url64 = asset64.browser_download_url
            fname64 = asset64.name
            subprocess.call(["wget", url, "--output-document", fname])
            chksum = checksum.get_for_file(fname, "sha512")
            subprocess.call(["wget", url64, "--output-document", fname64])
            chksum64 = checksum.get_for_file(fname64, "sha512")
            find_and_replace_templates(
                "omnisharp", tempdir, rel.tag_name.replace("v", ""),
                rel.tag_name, url, chksum, fname, url64, chksum64, fname64,
                rel.body.replace("<", "&lt;").replace(">", "&gt;").replace(
                    "&", "&amp;").replace("\u200b", ""))  # zero-width space
            os.rename(fname, os.path.join(tempdir, "tools", fname))
            os.rename(fname64, os.path.join(tempdir, "tools", fname64))
            abort_on_nonzero(
                subprocess.call(
                    ["choco", "pack",
                     Path(tempdir) / "omnisharp.nuspec"]))
            f.write(str(rel.id) + "\n")
            f.flush()
        else:
            continue

    f.close()
def main():
    pkgname = "terraform-lsp"
    # initalize state array
    state = []
    with io.open(pkgname + ".ghstate", "a+") as f:
        f.seek(0)  # why I have to do this is unknown
        for _, line in enumerate(f):
            state.append(line)
    f = io.open(pkgname + ".ghstate", "a+")
    # connect to github api
    gh = Github(os.environ['GH_TOKEN'])
    repo = gh.get_repo("juliosueiras/terraform-lsp")
    for rel in repo.get_releases():
        pushed = False
        for i in range(len(state)):
            if str(state[i]).replace("\n", "") == str(rel.id):
                pushed = True
                break
            else:
                continue
        if not pushed:
            asset = get_correct_release_asset(rel.get_assets(),
                                              "windows_amd64", None)
            if asset is None:
                continue
            url = asset.browser_download_url
            subprocess.call(["wget", url, "--output-document", "tflsp.tar.gz"])
            chksum = checksum.get_for_file("tflsp.tar.gz", "sha512")
            os.remove("tflsp.tar.gz")
            tempdir = tempfile.mkdtemp()
            print(tempdir)
            fname = asset.name
            relnotes = rel.body
            if rel.body is None:
                relnotes = ""
            else:
                relnotes = relnotes.replace("<", "&lt;").replace(
                    ">",
                    "&gt;").replace("&",
                                    "&amp;").replace("\u200b",
                                                     "")  # zero-width space
            find_and_replace_templates(pkgname, tempdir,
                                       rel.title.replace("v", ""),
                                       rel.tag_name, url, chksum, fname, None,
                                       None, None, relnotes)
            abort_on_nonzero(
                subprocess.call(
                    ["choco", "pack",
                     Path(tempdir) / (pkgname + ".nuspec")]))
            f.write(str(rel.id) + "\n")
            f.flush()
        else:
            continue

    f.close()
Example #6
0
def main():
    # initalize state array
    state = []
    with io.open("legendary.ghstate", "a+") as f:
        f.seek(0)  # why I have to do this is unknown
        for _, line in enumerate(f):
            state.append(line)
    f = io.open("legendary.ghstate", "a+")
    # connect to github api
    gh = Github(os.environ['GH_TOKEN'])
    repo = gh.get_repo("derrod/legendary")
    for rel in repo.get_releases():
        pushed = False
        for i in range(len(state)):
            if str(state[i]).replace("\n", "") == str(rel.id):
                pushed = True
                break
            else:
                continue
        if not pushed:
            asset = get_correct_release_asset(rel.get_assets(),
                                              "legendary.exe", ".deb")
            if asset is None:
                continue
            url = asset.browser_download_url
            fname = asset.name
            subprocess.call(["wget", url, "--output-document", fname])
            chksum = checksum.get_for_file(fname, "sha512")
            tempdir = tempfile.mkdtemp()
            relnotes = rel.body
            if rel.body is None:
                relnotes = ""
            else:
                relnotes = relnotes.replace("<", "&lt;").replace(
                    ">",
                    "&gt;").replace("&",
                                    "&amp;").replace("\u200b",
                                                     "")  # zero-width space
            find_and_replace_templates("legendary", tempdir,
                                       rel.tag_name.replace("v", ""),
                                       rel.tag_name, url, chksum, fname, None,
                                       None, None, relnotes)
            os.rename(fname, os.path.join(tempdir, "tools", fname))
            abort_on_nonzero(
                subprocess.call(
                    ["choco", "pack",
                     Path(tempdir) / "legendary.nuspec"]))
            f.write(str(rel.id) + "\n")
            f.flush()
        else:
            continue

    f.close()
Example #7
0
def main():
    pkgname = "TweetDuck"
    # initalize state array
    state = []
    with io.open(pkgname + ".ghstate", "a+") as f:
        f.seek(0)  # why I have to do this is unknown
        for _, line in enumerate(f):
            state.append(line)
    f = io.open(pkgname + ".ghstate", "a+")
    # connect to github api
    gh = Github(os.environ['GH_TOKEN'])
    repo = gh.get_repo("chylex/" + pkgname)
    for rel in repo.get_releases():
        pushed = False
        for i in range(len(state)):
            if str(state[i]).replace("\n", "") == str(rel.id):
                pushed = True
                break
            else:
                continue
        if not pushed:
            asset = get_correct_release_asset(rel.get_assets(),
                                              "TweetDuck.exe", None)
            if asset is None:
                print("no compatible releases, skipping...")
                f.write(str(rel.id) + "\n")
                f.flush()
                continue
            tempdir = tempfile.mkdtemp()
            find_and_replace_templates(
                pkgname, tempdir, rel.title.replace("Release ", ""),
                rel.tag_name, None, None, None, None, None, None,
                rel.body.replace("<", "&lt;").replace(">", "&gt;").replace(
                    "&", "&amp;").replace("\u200b", ""))  # zero-width space
            abort_on_nonzero(
                subprocess.call(
                    ["choco", "pack",
                     Path(tempdir) / (pkgname + ".nuspec")]))
            f.write(str(rel.id) + "\n")
            f.flush()
        else:
            continue

    f.close()
Example #8
0
def main():
    pkgname = "flutter"
    # initalize state array
    state = []
    with io.open(pkgname+".gasstate", "a+") as f:
        f.seek(0)  # why I have to do this is unknown
        for _, line in enumerate(f):
            state.append(line)
    f = io.open(pkgname+".gasstate", "a+")
    # connect to github api
    req = requests.get(
        "https://storage.googleapis.com/flutter_infra/releases/releases_windows.json")
    repo = req.json()
    for rel in repo["releases"]:
        pushed = False
        for i in range(len(state)):
            if str(state[i]).replace("\n", "") == str(rel["hash"]):
                pushed = True
                break
            else:
                continue
        if not pushed:
            url = "https://storage.googleapis.com/flutter_infra/releases/" + \
                rel["archive"]
            chksum = rel["sha256"]
            tempdir = tempfile.mkdtemp()
            version = rel["version"].replace("v", "")
            version = version.replace("-de", "-dev")
            version = version.replace("+hotfix", "")
            version = version.replace("-hotfix", "")
            version = version.replace(".pre", "")
            versions = version.replace("dev.", "").split("-")
            version = versions[0]
            if "-dev" in version:
                version = version.replace("-dev", "")
            if "-beta" in version:
                version = version.replace("-beta", "")
            if "-stable" in version:
                version = version.replace("-stable", "")

            print(versions)
            version = version.split("-")[0]
            try:
                minorminor = str(versions[1].split(".")[0])
                version = version+"."+minorminor
            except:
                pass
            if rel["channel"] == "beta":
                version = version+"-beta"
            if rel["channel"] == "dev":
                version = version+"-dev"
            # version = version+"."+str(versions[1].split(".")[1])
            try:
                version = version + "-" + str(versions[1].split(".")[1])
            except:
                pass
            find_and_replace_templates(pkgname,
                                       tempdir,
                                       version,
                                       rel["version"].replace("v", "").replace("-de", "-dev"),
                                       url,
                                       chksum,
                                       None,
                                       None,
                                       None,
                                       None,
                                       None)
            abort_on_nonzero(subprocess.call(["choco",
                                              "pack",
                                              Path(tempdir)/(pkgname+".nuspec")]))
            f.write(str(rel["hash"])+"\n")
            f.flush()
        else:
            continue

    f.close()