Initial commit, copied from autoBIGS.engine-bioconda

This commit is contained in:
2025-02-17 19:32:25 +00:00
commit 941ecb1b13
10 changed files with 281 additions and 0 deletions

32
scripts/adapt_names.py Normal file
View File

@@ -0,0 +1,32 @@
#!/usr/bin/env python3
import argparse
from os import fdopen, path
import os
import re
import shutil
from sys import argv
import tempfile
def update_naming_scheme(recipe_path):
original_recipe = path.abspath(recipe_path)
original_meta = path.join(original_recipe, "meta.yaml")
new_fd, new_file_path = tempfile.mkstemp()
with fdopen(new_fd, "w") as new_file_handle:
with open(original_meta, "r") as original_file_handle:
for line in original_file_handle:
matches = re.finditer(r"\{\{\s*name\|lower()\s+\}\}", line)
modified_line = line
for match in matches:
modified_line = modified_line[:match.start(1)] + r'|replace(".", "-")' + modified_line[match.end(1):]
new_file_handle.write(modified_line)
shutil.move(new_file_path, original_meta)
new_recipe_name = path.join(
path.dirname(original_recipe),
path.basename(original_recipe).replace(".", "-").lower())
shutil.rmtree(new_recipe_name, ignore_errors=True)
os.replace(original_recipe,
new_recipe_name)
if __name__ == "__main__":
update_naming_scheme(argv[1])

View File

@@ -0,0 +1,30 @@
#!/usr/bin/env python3
import sys
import requests
import json
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 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 or "utf-8"))
releases = j.get('releases', [])
for release in releases:
ver = parse(release)
if not ver.is_prerelease:
version = max(version, ver)
return version
if __name__ == '__main__':
print(get_version(sys.argv[1]), end="")