silf.backend.commons Package

version Module

class silf.backend.commons.version.ProtocolVersionUtil

Bases: object

classmethod is_version_in_list(ver, version_list)
>>> ProtocolVersionUtil.is_version_in_list("1.0.0", [])
False
>>> ProtocolVersionUtil.is_version_in_list("1.0.0", ["0.0.1"])
False
>>> ProtocolVersionUtil.is_version_in_list("1.0.0", ["0.0.1","0.5.0-0.9.0"])
False
>>> ProtocolVersionUtil.is_version_in_list("1.0.0", ["1.0.0","0.5.0-0.9.0"])
True
>>> ProtocolVersionUtil.is_version_in_list("1.0.0", ["0.7.0","0.9.0-1.9.0"])
True
classmethod validate_protocol_version(ver)
>>> ProtocolVersionUtil.validate_protocol_version("0.0.0")
True
>>> ProtocolVersionUtil.validate_protocol_version("2.1.0")
True
>>> ProtocolVersionUtil.validate_protocol_version("2.1.0-2.2.0")
True
>>> ProtocolVersionUtil.validate_protocol_version("1.0")
Traceback (most recent call last):
ValueError: Wrong syntax for protocol version: 1.0
>>> ProtocolVersionUtil.validate_protocol_version("1.0.a")
Traceback (most recent call last):
ValueError: Wrong syntax for protocol version: 1.0.a
>>> ProtocolVersionUtil.validate_protocol_version("ala")
Traceback (most recent call last):
ValueError: Wrong syntax for protocol version: ala
>>> ProtocolVersionUtil.validate_protocol_version("2.a.0-2.2.0")
Traceback (most recent call last):
ValueError: Wrong syntax for protocol range: 2.a.0-2.2.0
>>> ProtocolVersionUtil.validate_protocol_version("2.1.0-2.2.bb")
Traceback (most recent call last):
ValueError: Wrong syntax for protocol range: 2.1.0-2.2.bb
classmethod validate_protocol_versions(version_list)
version_pattern = re.compile('\\d+\\.\\d+\\.\\d+')
version_range_pattern = re.compile('\\d+\\.\\d+\\.\\d+-\\d+\\.\\d+\\.\\d+')