|
- import logging
-
- from config import Package
- from .fetch import fetch_metadata
-
- logger = logging.getLogger(__name__)
-
-
- async def resolve_version(package: Package, repo: str) -> list[str]:
- versions = []
-
- if package.version in ['latest', 'stable']:
- if metadata := await fetch_metadata(package, repo):
- logger.info(f"Available versions for {package}: {metadata.versions}")
-
- if package.version == 'latest':
- versions.append(metadata.latest)
- elif package.version == 'stable':
- versions.append(metadata.release)
-
- if metadata.stable != metadata.release:
- versions.append(metadata.stable)
-
- logger.info(f"Using versions {versions} for {package}")
- else:
- logger.error(f'{package}: Could not find package metadata')
- else:
- versions.append(package.version)
-
- return versions
|