from abc import ABCMeta
from abc import abstractmethod
+from pygost.utils import hexenc
+
# This function is taken from six package as is
def add_metaclass(metaclass):
"""Class decorator for creating a class with a metaclass."""
def wrapper(cls):
orig_vars = cls.__dict__.copy()
- slots = orig_vars.get('__slots__')
+ slots = orig_vars.get("__slots__")
if slots is not None:
if isinstance(slots, str):
slots = [slots]
for slots_var in slots:
orig_vars.pop(slots_var)
- orig_vars.pop('__dict__', None)
- orig_vars.pop('__weakref__', None)
+ orig_vars.pop("__dict__", None)
+ orig_vars.pop("__weakref__", None)
return metaclass(cls.__name__, cls.__bases__, orig_vars)
return wrapper
"""Return the hash value as a string containing 8-bit data.
"""
- @abstractmethod
def hexdigest(self):
"""Return the hash value as a string containing hexadecimal digits.
"""
+ return hexenc(self.digest())