Server IP : 195.201.23.43 / Your IP : 3.140.184.21 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/twisted/python/ |
Upload File : |
# -*- test-case-name: twisted.test.test_nooldstyle -*- # Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. """ Utilities to assist in the "flag day" new-style object transition. """ from __future__ import absolute_import, division import types from functools import wraps from twisted.python.compat import _shouldEnableNewStyle, _PY3 def _replaceIf(condition, alternative): """ If C{condition}, replace this function with C{alternative}. @param condition: A L{bool} which says whether this should be replaced. @param alternative: An alternative function that will be swapped in instead of the original, if C{condition} is truthy. @return: A decorator. """ def decorator(func): if condition is True: call = alternative elif condition is False: call = func else: raise ValueError(("condition argument to _replaceIf requires a " "bool, not {}").format(repr(condition))) @wraps(func) def wrapped(*args, **kwargs): return call(*args, **kwargs) return wrapped return decorator def passthru(arg): """ Return C{arg}. Do nothing. @param arg: The arg to return. @return: C{arg} """ return arg def _ensureOldClass(cls): """ Ensure that C{cls} is an old-style class. @param cls: The class to check. @return: The class, if it is an old-style class. @raises: L{ValueError} if it is a new-style class. """ if not type(cls) is types.ClassType: from twisted.python.reflect import fullyQualifiedName raise ValueError( ("twisted.python._oldstyle._oldStyle is being used to decorate a " "new-style class ({cls}). This should only be used to " "decorate old-style classes.").format( cls=fullyQualifiedName(cls))) return cls @_replaceIf(_PY3, passthru) @_replaceIf(not _shouldEnableNewStyle(), _ensureOldClass) def _oldStyle(cls): """ A decorator which conditionally converts old-style classes to new-style classes. If it is Python 3, or if the C{TWISTED_NEWSTYLE} environment variable has a falsey (C{no}, C{false}, C{False}, or C{0}) value in the environment, this decorator is a no-op. @param cls: An old-style class to convert to new-style. @type cls: L{types.ClassType} @return: A new-style version of C{cls}. """ _ensureOldClass(cls) _bases = cls.__bases__ + (object,) return type(cls.__name__, _bases, cls.__dict__)Private