$13 GRAYBYTE WORDPRESS FILE MANAGER $55

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.157
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/opt/alt/python313/lib64/python3.13/importlib/metadata/__pycache__/

HOME
Current File : /opt/alt/python313/lib64/python3.13/importlib/metadata/__pycache__//_functools.cpython-313.pyc
�

@,biO��$�SSKrSSKrSSjrSrg)�Nc�d^^�T=(d [R"5mUU4SjnSUlU$)a�
Wrap lru_cache to support storing the cache data in the object instances.

Abstracts the common paradigm where the method explicitly saves an
underscore-prefixed protected property on first call and returns that
subsequently.

>>> class MyClass:
...     calls = 0
...
...     @method_cache
...     def method(self, value):
...         self.calls += 1
...         return value

>>> a = MyClass()
>>> a.method(3)
3
>>> for x in range(75):
...     res = a.method(x)
>>> a.calls
75

Note that the apparent behavior will be exactly like that of lru_cache
except that the cache is stored on each instance, so values in one
instance will not flush values from another, and when an instance is
deleted, so are the cached values for that instance.

>>> b = MyClass()
>>> for x in range(35):
...     res = b.method(x)
>>> b.calls
35
>>> a.method(0)
0
>>> a.calls
75

Note that if method had been decorated with ``functools.lru_cache()``,
a.calls would have been 76 (due to the cached value of 0 having been
flushed by the 'b' instance).

Clear the cache with ``.cache_clear()``

>>> a.method.cache_clear()

Same for a method that hasn't yet been called.

>>> c = MyClass()
>>> c.method.cache_clear()

Another cache wrapper may be supplied:

>>> cache = functools.lru_cache(maxsize=2)
>>> MyClass.method2 = method_cache(lambda self: 3, cache_wrapper=cache)
>>> a = MyClass()
>>> a.method2()
3

Caution - do not subsequently wrap the method with another decorator, such
as ``@property``, which changes the semantics of the function.

See also
http://code.activestate.com/recipes/577452-a-memoize-decorator-for-instance-methods/
for another implementation and additional justification.
c�>�[R"TU5nT"U5n[UTRU5 U"U0UD6$�N)�types�
MethodType�setattr�__name__)�self�args�kwargs�bound_method�
cached_method�
cache_wrapper�methods     ���D/opt/alt/python313/lib64/python3.13/importlib/metadata/_functools.py�wrapper�method_cache.<locals>.wrapperKs?����'�'���5��%�l�3�
���f�o�o�}�5��d�-�f�-�-�c��gr�rrr�<lambda>�method_cache.<locals>.<lambda>Ss��$r)�	functools�	lru_cache�cache_clear)rrrs`` r�method_cachers-���F"�:�Y�%8�%8�%:�M�.�'�G���Nrc�F^�[R"T5U4Sj5nU$)z�
Wrap func so it's not called if its first param is None

>>> print_text = pass_none(print)
>>> print_text('text')
text
>>> print_text(None)
c�$>�UbT"U/UQ70UD6$grr)�paramrr�funcs   �rr�pass_none.<locals>.wrappercs#�������/��/��/�/�r)r�wraps)r rs` r�	pass_noner#Ys'����_�_�T��0��0��Nrr)rrrr#rrr�<module>r$s����O�fr


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
10 Feb 2026 9.35 AM
root / linksafe
0755
__init__.cpython-313.opt-1.pyc
51.522 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
__init__.cpython-313.opt-2.pyc
39.868 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
__init__.cpython-313.pyc
51.587 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_adapters.cpython-313.opt-1.pyc
3.81 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_adapters.cpython-313.opt-2.pyc
3.602 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_adapters.cpython-313.pyc
3.81 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_collections.cpython-313.opt-1.pyc
1.895 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_collections.cpython-313.opt-2.pyc
1.636 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_collections.cpython-313.pyc
1.895 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_functools.cpython-313.opt-1.pyc
3.179 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_functools.cpython-313.opt-2.pyc
1.401 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_functools.cpython-313.pyc
3.179 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_itertools.cpython-313.opt-1.pyc
2.236 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_itertools.cpython-313.opt-2.pyc
1.154 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_itertools.cpython-313.pyc
2.236 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_meta.cpython-313.opt-1.pyc
3.585 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_meta.cpython-313.opt-2.pyc
3.404 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_meta.cpython-313.pyc
3.585 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_text.cpython-313.opt-1.pyc
3.685 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_text.cpython-313.opt-2.pyc
2.67 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
_text.cpython-313.pyc
3.685 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
diagnose.cpython-313.opt-1.pyc
1.142 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
diagnose.cpython-313.opt-2.pyc
1.142 KB
10 Jan 2026 10.44 AM
root / linksafe
0644
diagnose.cpython-313.pyc
1.142 KB
10 Jan 2026 10.44 AM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF