aboutcode-org / aboutcode-org/univers

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

オープン
#33 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
50
フォーク
29
PR マージ指標
30日以内にマージされた PR はありません

説明

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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。