view mercurial/interfaces/util.py @ 50424:ed052780ad5e

peer: rename makepeer() → _make_peer() In httppeer and sshpeer, there previously were makepeer() and make_peer(), which was confusing. Therefore, this changeset renames one of the functions. makepeer() was the internal function called by make_peer() and some debug command. This function is renamed to _make_peer().
author Manuel Jacob <me@manueljacob.de>
date Fri, 07 Apr 2023 15:42:49 +0200
parents 642e31cb55f0
children f4733654f144
line wrap: on
line source

# util.py - Utilities for declaring interfaces.
#
# Copyright 2018 Gregory Szorc <gregory.szorc@gmail.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.

# zope.interface imposes a run-time cost due to module import overhead and
# bookkeeping for declaring interfaces. So, we use stubs for various
# zope.interface primitives unless instructed otherwise.


from .. import encoding

if encoding.environ.get(b'HGREALINTERFACES'):
    from ..thirdparty.zope import interface as zi

    Attribute = zi.Attribute
    Interface = zi.Interface
    implementer = zi.implementer
else:

    class Attribute:
        def __init__(self, __name__, __doc__=b''):
            pass

    class Interface:
        def __init__(
            self, name, bases=(), attrs=None, __doc__=None, __module__=None
        ):
            pass

    def implementer(*ifaces):
        def wrapper(cls):
            return cls

        return wrapper