mirror of
https://github.com/openkmip/pykmip
synced 2025-12-20 10:13:18 +00:00
Adding an AttributePolicy system
This change adds a policy system that will be used by the KmipEngine to track and organize rules for individual KMIP attributes. Comparison operators for the Integer primitive and ProtocolVersion struct are added to support the AttributePolicy. Tests for all new changes are included.
This commit is contained in:
@@ -118,6 +118,58 @@ class ProtocolVersion(Struct):
|
||||
else:
|
||||
return NotImplemented
|
||||
|
||||
def __lt__(self, other):
|
||||
if isinstance(other, ProtocolVersion):
|
||||
if self.protocol_version_major < other.protocol_version_major:
|
||||
return True
|
||||
elif self.protocol_version_major > other.protocol_version_major:
|
||||
return False
|
||||
elif self.protocol_version_minor < other.protocol_version_minor:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
return NotImplemented
|
||||
|
||||
def __gt__(self, other):
|
||||
if isinstance(other, ProtocolVersion):
|
||||
if self.protocol_version_major > other.protocol_version_major:
|
||||
return True
|
||||
elif self.protocol_version_major < other.protocol_version_major:
|
||||
return False
|
||||
elif self.protocol_version_minor > other.protocol_version_minor:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
return NotImplemented
|
||||
|
||||
def __le__(self, other):
|
||||
if isinstance(other, ProtocolVersion):
|
||||
if self.protocol_version_major < other.protocol_version_major:
|
||||
return True
|
||||
elif self.protocol_version_major > other.protocol_version_major:
|
||||
return False
|
||||
elif self.protocol_version_minor <= other.protocol_version_minor:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
return NotImplemented
|
||||
|
||||
def __ge__(self, other):
|
||||
if isinstance(other, ProtocolVersion):
|
||||
if self.protocol_version_major > other.protocol_version_major:
|
||||
return True
|
||||
elif self.protocol_version_major < other.protocol_version_major:
|
||||
return False
|
||||
elif self.protocol_version_minor >= other.protocol_version_minor:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
return NotImplemented
|
||||
|
||||
def __repr__(self):
|
||||
major = self.protocol_version_major.value
|
||||
minor = self.protocol_version_minor.value
|
||||
|
||||
Reference in New Issue
Block a user