:orphan:

:py:mod:`slidge.util`
=====================

.. py:module:: slidge.util


Submodules
----------
.. toctree::
   :titlesonly:
   :maxdepth: 1

   db/index.rst
   types/index.rst


Package Contents
----------------

Classes
~~~~~~~

.. autoapisummary::

   slidge.util.ABCSubclassableOnceAtMost
   slidge.util.SubclassableOnce



Functions
~~~~~~~~~

.. autoapisummary::

   slidge.util.is_valid_phone_number
   slidge.util.replace_mentions
   slidge.util.strip_illegal_chars



.. py:class:: ABCSubclassableOnceAtMost(name, bases, dct)




   Metaclass for defining Abstract Base Classes (ABCs).

   Use this metaclass to create an ABC.  An ABC can be subclassed
   directly, and then acts as a mix-in class.  You can also register
   unrelated concrete classes (even built-in classes) and unrelated
   ABCs as 'virtual subclasses' -- these and their descendants will
   be considered subclasses of the registering ABC by the built-in
   issubclass() function, but the registering ABC won't show up in
   their MRO (Method Resolution Order) nor will method
   implementations defined by the registering ABC be callable (not
   even via super()).

   .. py:method:: register(subclass)

      Register a virtual subclass of an ABC.

      Returns the subclass, to allow usage as a class decorator.







