%6 q 2 d dl Z d dlmZ d dlmZ d dlmZ d dlmZm Z m Z ddlmZ ed Z e gZ dd lm Z e e n# e$ r Y nw xY wd Z G d d Zdd eg e f deg e f fdZdede fdZddedefdZdS ) N)wraps)dedent)getfullargspec)CallableSequenceAny ) singletonDEFAULT)r c ' K | D ]}|V dS )za A utility function for creating a generator that will yield the supplied arguments. N )argsis d/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/testfixtures/utils.py generatorr s, c T e Zd ZdZeZdeg df deg df fdZd ZddZ dS )WrappingNbeforeafterc $ ||c| _ | _ d S N)r r )selfr r s r __init__zWrapping.__init__$ s "(%TZZZr c * | S r )r )r s r __enter__zWrapping.__enter__' s {{}}r c @ | j | d S d S r )r )r exc_typeexc_valexc_tbs r __exit__zWrapping.__exit__* s# :!JJLLLLL "!r NNN) __name__ __module____qualname__attribute_namer newr r r r! r r r r r su N C0xD1 0(2t8:L 0 0 0 0 r r r r c 2 t | | fd}|S )z A decorator that causes the supplied callables to be called before or after the wrapped callable, as appropriate. c t d r j S t fd g_ S )N patchingsc ^ g }g }t t j t | d }d}d} j D ]v}| }| | |j | | H|j t v r ||k r| | |dz }w| t | z } | i |t | D ]} |j | S # t j } xY w# t | D ]} |j | w xY w)Nr r" r )lenr r r* r appendr&