def main(): logger = logging.getLogger('youtube-dlc GitHub Releases') logger.setLevel(logging.DEBUG) for rel in on_new_git_release("youtube-dlc", "blackjack4494/youtube-dlc"): # correlate assets asset = get_correct_release_asset(rel.get_assets(), "youtube-dlc_x86.exe", None) asset64 = get_correct_release_asset(rel.get_assets(), "youtube-dlc.exe", None) if asset is None or asset64 is None: logger.warn( "Versioned release missing required assets, therefore, ineligible for packaging, skipping." ) continue # download and hash url = asset.browser_download_url fname = asset.name abort_on_nonzero( subprocess.call(["wget", url, "--output-document", fname])) chksum = checksum.get_for_file(fname, "sha512") url64 = asset64.browser_download_url fname64 = "youtube-dlc_x86_64.exe" # override the file name so it doesn't collide in the install script abort_on_nonzero( subprocess.call(["wget", url64, "--output-document", fname64])) chksum64 = checksum.get_for_file(fname64, "sha512") # assemble information relnotes = rel.body if rel.body is None: relnotes = "" else: relnotes = relnotes.replace("<", "<").replace( ">", ">").replace("&", "&").replace("\u200b", "") # zero-width space version = rel.tag_name.strip("v").replace("-", ".") gittag = rel.tag_name d = dict(version=version, tag=gittag, checksum=chksum, fname=fname, url=url, checksum64=chksum64, fname64=fname64, url64=url64, notes=relnotes) # template and pack tmpdir = tempfile.mkdtemp() find_and_replace_templates_new("youtube-dlc", tmpdir, d) os.rename(fname, os.path.join(tmpdir, "tools", fname)) os.rename(fname64, os.path.join(tmpdir, "tools", fname64)) abort_on_nonzero( subprocess.call( ["choco", "pack", Path(tmpdir) / "youtube-dlc.nuspec"]))
def main(): logger = logging.getLogger('Ludusavi GitHub Releases') logger.setLevel(logging.DEBUG) for rel in on_new_git_release("ludusavi", "mtkennerly/ludusavi"): # correlate assets asset = get_correct_release_asset(rel.get_assets(), "win32.zip", None) asset64 = get_correct_release_asset(rel.get_assets(), "win64.zip", None) if asset is None or asset64 is None: logger.warn( 'Versioned release missing required assets, therefore, ineligible for packaging, skipping.' ) continue # download and hash url = asset.browser_download_url fname = asset.name abort_on_nonzero( subprocess.call(["wget", url, "--output-document", fname])) chksum = checksum.get_for_file(fname, "sha512") url64 = asset64.browser_download_url fname64 = asset64.name abort_on_nonzero( subprocess.call(["wget", url64, "--output-document", fname64])) chksum64 = checksum.get_for_file(fname64, "sha512") # assemble information relnotes = rel.body if rel.body is None: relnotes = "" else: relnotes = relnotes.replace("<", "<").replace( ">", ">").replace("&", "&").replace("\u200b", "") # zero-width space version = rel.tag_name.replace("v", "") gittag = rel.tag_name d = dict(version=version, tag=gittag, url=url, checksum=chksum, fname=fname, url64=url64, checksum64=chksum64, fname64=fname64, notes=relnotes) # template and pack tmpdir = tempfile.mkdtemp() find_and_replace_templates_new("ludusavi", tmpdir, d) os.rename(fname, os.path.join(tmpdir, "tools", fname)) os.rename(fname64, os.path.join(tmpdir, "tools", fname64)) abort_on_nonzero( subprocess.call( ["choco", "pack", Path(tmpdir) / "ludusavi.nuspec"]))
def main(): logger = logging.getLogger('ModernFlyouts GitHub Releases') logger.setLevel(logging.DEBUG) for rel in on_new_git_release("modernflyouts", "shankarbus/modernflyouts"): # correlate assets asset = get_correct_release_asset(rel.get_assets(), ".Msixbundle", None) if asset is None: logger.warn( "Versioned release missing required assets, therefore, ineligible for packaging, skipping." ) continue # download and hash url = asset.browser_download_url fname = asset.name subprocess.call(["wget", url]) chksum = checksum.get_for_file(fname, "sha512") # certificate download alturl = "https://github.com/ShankarBUS/ModernFlyouts/releases/download/v0.5.0/ModernFlyouts.Package_0.5.0.0_AnyCPU.cer" altfname = "ModernFlyouts.Package_0.5.0.0_AnyCPU.cer" abort_on_nonzero( subprocess.call([ "wget", alturl, "--output-document", "ModernFlyouts.Package_0.5.0.0_AnyCPU.cer" ])) # assemble information relnotes = rel.body if rel.body is None: relnotes = "" else: relnotes = relnotes.replace("<", "<").replace( ">", ">").replace("&", "&").replace("\u200b", "") # zero-width space version = rel.tag_name.replace("v", "") gittag = rel.tag_name d = dict(version=version, tag=gittag, checksum=chksum, fname=fname, url=url, altfname=altfname, notes=relnotes) # template and pack tmpdir = tempfile.mkdtemp() find_and_replace_templates_new("modernflyouts", tmpdir, d) os.rename(fname, os.path.join(tmpdir, "tools", fname)) os.rename(altfname, os.path.join(tmpdir, "tools", altfname)) abort_on_nonzero( subprocess.call( ["choco", "pack", Path(tmpdir) / "modernflyouts.nuspec"]))
def main(): logger = logging.getLogger("Monolith GitHub Releases") logger.setLevel(logging.DEBUG) for rel in on_new_git_release("monolith", "Y2Z/monolith"): # correlate assets asset = get_correct_release_asset(rel.get_assets(), "monolith.exe", None) if asset is None: logger.warn( "Versioned release missing required assets, therefore, ineligible for packaging, skipping." ) continue # download, and hash url = asset.browser_download_url fname = asset.name abort_on_nonzero(subprocess.call(["wget", url, "--output-document", fname])) chksum = checksum.get_for_file(fname, "sha512") # assemble information relnotes = rel.body if rel.body is None: relnotes = "" else: relnotes = ( relnotes.replace("<", "<") .replace(">", ">") .replace("&", "&") .replace("\u200b", "") ) # zero-width space version = rel.tag_name.strip("v").replace("-", ".") gittag = rel.tag_name d = dict( version=version, tag=gittag, checksum=chksum, fname=fname, url=url, notes=relnotes, ) # template and pack tmpdir = tempfile.mkdtemp() find_and_replace_templates_new("monolith", tmpdir, d) # HACK: Python is dumb and won't recursively create directories sometimes, why... os.mkdir(Path(tmpdir) / "tools/x64") os.rename(fname, os.path.join(tmpdir, "tools", "x64", "monolith.exe")) abort_on_nonzero( subprocess.call(["choco", "pack", Path(tmpdir) / "monolith.nuspec"]) )
def main(): logger = logging.getLogger('Alacritty Portable GitHub Releases') logger.setLevel(logging.DEBUG) for rel in on_new_git_release("alacritty.portable", "alacritty/alacritty"): # correlate assets asset = get_correct_release_asset(rel.get_assets(), ".exe", None) if asset is None: logger.warn( "Versioned release missing required assets, therefore, ineligible for packaging, skipping." ) continue # download and hash url = asset.browser_download_url fname = "alacritty.exe" # filename override abort_on_nonzero( subprocess.call(["wget", url, "--output-document", fname])) chksum = checksum.get_for_file(fname, "sha512") # assemble information relnotes = rel.body if rel.body is None: relnotes = "" else: relnotes = relnotes.replace("<", "<").replace( ">", ">").replace("&", "&").replace("\u200b", "") # zero-width space version = rel.tag_name.replace("v", "") gittag = rel.tag_name d = dict(version=version, tag=gittag, checksum=chksum, fname=fname, url=url, notes=relnotes) # template and pack tmpdir = tempfile.mkdtemp() find_and_replace_templates_new("alacritty.portable", tmpdir, d) os.rename(fname, os.path.join(tmpdir, "tools", fname)) abort_on_nonzero( subprocess.call(["choco", "pack", Path(tmpdir) / "alacritty.portable.nuspec"]))
def main(): logger = logging.getLogger('TweetDuck GitHub Releases') logger.setLevel(logging.DEBUG) for rel in on_new_git_release("TweetDuck", "chylex/TweetDuck"): # correlate assets asset = get_correct_release_asset(rel.get_assets(), "TweetDuck.exe", None) if asset is None: logger.warn( "Versioned release missing required assets, therefore, ineligible for packaging, skipping." ) continue # assemble information relnotes = rel.body if rel.body is None: relnotes = "" else: relnotes = relnotes.replace("<", "<").replace( ">", ">").replace("&", "&").replace("\u200b", "") # zero-width space version = rel.tag_name.replace("v", "") gittag = rel.tag_name d = dict(version=version, tag=gittag, notes=relnotes) # template and pack tmpdir = tempfile.mkdtemp() find_and_replace_templates_new("tweetduck", tmpdir, d) abort_on_nonzero( subprocess.call(["choco", "pack", Path(tmpdir) / "tweetduck.nuspec"]))