Skip to content

Instantly share code, notes, and snippets.

@victorusachev
Created July 8, 2020 04:05
Show Gist options
  • Select an option

  • Save victorusachev/d2dd8f8f46fd57940b5d08d32a51d68f to your computer and use it in GitHub Desktop.

Select an option

Save victorusachev/d2dd8f8f46fd57940b5d08d32a51d68f to your computer and use it in GitHub Desktop.
def setup_audit(cls, level):
# some code
print(cls, level)
class AuditMeta(type):
def __new__(mcs, name, bases, attrs, **kwargs):
cls = super().__new__(mcs, name, bases, attrs)
level = kwargs.get('level', 0)
setup_audit(cls, level)
return cls
class Base(metaclass=AuditMeta):
pass
class Silent(Base):
pass
class Auditable(Base, level=1):
pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment