PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/compat.py |
""" Compatibility functions for utils """ import copy import importlib import sys import types import salt.loader def pack_dunder(name): """ Compatibility helper function to make __utils__ available on demand. """ # TODO: Deprecate starting with Beryllium mod = sys.modules[name] if not hasattr(mod, "__utils__"): setattr( mod, "__utils__", salt.loader.utils(mod.__opts__, pack_self="__utils__") ) def deepcopy_bound(name): """ Compatibility helper function to allow copy.deepcopy copy bound methods which is broken on Python 2.6, due to the following bug: https://bugs.python.org/issue1515 Warnings: - This method will mutate the global deepcopy dispatcher, which means that this function is NOT threadsafe! - Not Py3 compatible. The intended use case is deepcopy compat for Py2.6 """ def _deepcopy_method(x, memo): return type(x)(x.im_func, copy.deepcopy(x.im_self, memo), x.im_class) pre_dispatch = copy._deepcopy_dispatch try: copy._deepcopy_dispatch[types.MethodType] = _deepcopy_method ret = copy.deepcopy(name) finally: copy._deepcopy_dispatch = pre_dispatch return ret def cmp(x, y): """ Compatibility helper function to replace the ``cmp`` function from Python 2. The ``cmp`` function is no longer available in Python 3. cmp(x, y) -> integer Return negative if x<y, zero if x==y, positive if x>y. """ if isinstance(x, dict) and isinstance(y, dict): return 0 if x == y else -1 return (x > y) - (x < y) def reload(mod): """ Compatibility helper function to replace the ``reload`` builtin from Python 2. """ try: return importlib.reload(mod) except AttributeError: return reload(mod)