def register_publisher(callable_, type_name='', publisher_type=PRE_PUBLISHER_TYPE):

    if not callable(callable_):
        raise TypeError('%s is not callable' % callable_.__class__.__name__)

    def register_one(t_name, p_type):
        t_name = t_name.lower()
        if t_name not in publishers[p_type]:
            publishers[p_type][t_name] = []

        if callable_ not in publishers[p_type][t_name]:
            publishers[p_type][t_name].append(callable_)

    if isinstance(type_name, list):
        for item in type_name:
            register_one(item, publisher_type)
    else:
        # it should have only one item
        register_one(type_name, publisher_type)
Save an instance of :class:`~.File` into the backened storage.
dataset/ETHPy150Open eoyilmaz/anima/anima/publish.py/register_publisher--crossover with--dataset/ETHPy150Open quantmind/lux/lux/utils/files.py/Filehandler.save