parent
2ea2f7b6d0
commit
c6ecf37338
@ -1,58 +0,0 @@ |
||||
#!/usr/bin/env nix-shell |
||||
#!nix-shell -i python -p python39Packages.requests python39Packages.pip python39Packages.packaging |
||||
|
||||
import requests |
||||
import json |
||||
import subprocess |
||||
try: |
||||
from packaging.version import parse |
||||
except ImportError: |
||||
from pip._vendor.packaging.version import parse |
||||
|
||||
|
||||
URL_PATTERN = 'https://pypi.python.org/pypi/{package}/json' |
||||
|
||||
def findLine(key,derivation): |
||||
count = 0 |
||||
lines = [] |
||||
for line in derivation: |
||||
if key in line: |
||||
lines.append(count) |
||||
count += 1 |
||||
return lines |
||||
|
||||
def get_version(package, url_pattern=URL_PATTERN): |
||||
"""Return version of package on pypi.python.org using json.""" |
||||
req = requests.get(url_pattern.format(package=package)) |
||||
version = parse('0') |
||||
if req.status_code == requests.codes.ok: |
||||
j = json.loads(req.text.encode(req.encoding)) |
||||
releases = j.get('releases', []) |
||||
for release in releases: |
||||
ver = parse(release) |
||||
if not ver.is_prerelease: |
||||
if ver > version: |
||||
version = ver |
||||
sha256 = j["releases"][release][-1]["digests"]["sha256"] |
||||
return version, sha256 |
||||
|
||||
|
||||
if __name__ == '__main__': |
||||
|
||||
nixpkgs = subprocess.check_output(["git", "rev-parse", "--show-toplevel"]).decode("utf-8").strip('\n') |
||||
swaytoolsFolder = "/pkgs/tools/wayland/swaytools/" |
||||
with open(nixpkgs + swaytoolsFolder + "default.nix", 'r') as arq: |
||||
derivation = arq.readlines() |
||||
|
||||
version, sha256 = get_version('swaytools') |
||||
|
||||
key = "version = " |
||||
line = findLine(key,derivation)[0] |
||||
derivation[line] = f' version = "{version}";\n' |
||||
|
||||
key = "sha256 = " |
||||
line = findLine(key,derivation)[0] |
||||
derivation[line] = f' sha256 = "{sha256}";\n' |
||||
|
||||
with open(nixpkgs + swaytoolsFolder + "default.nix", 'w') as arq: |
||||
arq.writelines(derivation) |
Loading…
Reference in new issue