← Back
Editing: inputtransformer.cpython-311.pyc
� �@�cF � �� � d Z ddlZddlZddlZddlZddlmZmZmZ ddlm Z ddl mZ dZdZ dZd Zd ZdZdZd ZdZee eeeeeeeg Z G d� dej �� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Zej d� � � Zd� Zd� Zd� Z d� Z!d� Z"d � Z#d!� Z$d"� Z%eee e ee!ee!ee"ee#ee$ee%iZ&ej d#� � � Z' ej( d$� � Z) ej( d%ej* � � Z+ e,� � Z- e,� � Z.d&� Z/d'� Z0d(� Z1ej d)� � � Z2ej d7d+�� � Z3d8d,�Z4ej d-� � � Z5ej d.� � � Z6ej d/� � � Z7d0Z8 ej( d1�9 e8� � ej* � � Z:d2Z;ej d3� � � Z< ej( d4�9 e8� � ej* � � Z=d5Z>ej d6� � � Z?dS )9a, DEPRECATED: Input transformer classes to support IPython special syntax. This module was deprecated in IPython 7.0, in favour of inputtransformer2. This includes the machinery to recognise and transform ``%magic`` commands, ``!system`` commands, ``help?`` querying, prompt stripping, and so forth. � N)�generate_tokens� untokenize� TokenError)�StringIO)�LineInfo�!z!!�?�??�%z%%�,�;�/c �h � e Zd ZdZej d� � � Zej d� � � Zed� � � Z dS )�InputTransformerz6Abstract base class for line-based input transformers.c � � dS )a1 Send a line of input to the transformer, returning the transformed input or None if the transformer is waiting for more input. Must be overridden by subclasses. Implementations may raise ``SyntaxError`` if the input is invalid. No other exceptions may be raised. N� ��self�lines �?/usr/lib/python3/dist-packages/IPython/core/inputtransformer.py�pushzInputTransformer.push- s � � �� c � � dS )z�Return, transformed any lines that the transformer has accumulated, and reset its internal state. Must be overridden by subclasses. Nr �r s r �resetzInputTransformer.reset9 s � � �r c �J � �� t j �� � � �fd�� � }|S )z�Can be used by subclasses as a decorator, to return a factory that will allow instantiation with the decorated object. c � �� ��fi | ��S �Nr )�kwargs�cls�funcs ��r �transformer_factoryz2InputTransformer.wrap.<locals>.transformer_factoryG s �� ��3�t�&�&�v�&�&�&r )� functools�wraps)r r! r"