sugar3.bundle.bundleversion module¶
Validation and normalization of bundle versions.
Instances of NormalizedVersion
can be directly compared;
>>> from sugar3.bundle.bundleversion import NormalizedVersion
>>> a = NormalizedVersion('157.3')
>>> b = NormalizedVersion('201.2')
>>> a > b
False
>>> b > a
True
Invalid versions will raise InvalidVersionError
.
Valid versions are 1, 1.2, 1.2.3, 1.2.3-peru, and 1.2.3~dfsg.
- Invalid versions are:
1.2peru (because the suffix must be preceded with a dash or tilde),
1.2. (because a version can’t end with a period), or
1.02.5 (because a version can’t have a leading zero).
Based on the implementation of PEP 386, but adapted to our numeration schema.
- sugar3.bundle.bundleversion.VERSION_RE¶
regular expression for versions, deprecated, as it is insufficient by itself.
- Type
RegexObject
- exception sugar3.bundle.bundleversion.InvalidVersionError¶
Bases:
Exception
- A version cannot be normalized, because:
the object is not a string,
the string does not match the regular expression, or
the string has a leading zero in a version part.