Source code for hio.hioing

# -*- coding: utf-8 -*-
"""
hio.hioing module

Generic Constants and Classes
Exception Classes

"""
import sys
from collections import namedtuple

[docs]Versionage = namedtuple("Versionage", "major minor")
[docs]Version = Versionage(major=1, minor=0) # KERI Protocol Version
[docs]SEPARATOR = "\r\n\r\n"
[docs]SEPARATOR_BYTES = SEPARATOR.encode("utf-8")
[docs]class HioError(Exception):
""" Base Class for hio exceptions To use raise HioError("Error: message") """
[docs]class ValidationError(HioError):
""" Validation related errors Usage: raise ValidationError("error message") """
[docs]class VersionError(ValidationError):
""" Bad or Unsupported Version Usage: raise VersionError("error message") """
[docs]class Mixin(): """ Base class to enable consistent MRO for mixin multiple inheritance Allows each subclass to call super(MixinSubClass, self).__init__(*pa, **kwa) So the __init__ propagates to common top of Tree https://medium.com/geekculture/cooperative-multiple-inheritance-in-python-practice-60e3ac5f91cc """ def __init__(self, *pa, **kwa): pass