aboutcode-org / aboutcode-org/univers

`VersionConstraint.version` is allowed to be `None`

Aberta
#33 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
50
Forks
29
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

Is is more of a design decision than an issue.

Let's consider that in a place far far away, someone writes a piece code to get versions from all the constraints:
```py
>>> vr = VersionRange.from_string("vers:npm/1.1|2.2")
>>> range_versions = [c.version for c in vr.constraints]
>>> range_versions
[SemverVersion(string='1.1'), SemverVersion(string='2.2')]
```
Everything is nice and good until we meet `vers:ANY/*`
```py
>>> vr = VersionRange.from_string("vers:npm/*")
>>> range_versions = [c.version for c in vr.constraints]
>>> range_versions
[None]
```
Suddenly, `range_versions` break all expectations and contains a value value of `NoneType` than `Version`
A possible fix would be to allow `None` versions, such as `Version(None)`

Introduced here:
https://github.com/nexB/univers/blob/83e4fa651da7868f5c6f7c05a006bfadaac8d1cd/src/univers/version_constraint.py#L70

Related:
https://github.com/nexB/univers/issues/10
https://github.com/nexB/univers/issues/19

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.