← Back
Editing: encoding.cpython-311.pyc
� ��X5 � �F � d Z ddlZddlZddlZdd�Zdd�Z e� � ZdS )z+ Utilities for dealing with text encodings � Nc �B � t | d� � r| j s|S | j S )a) Return the given stream's encoding or a default. There are cases where ``sys.std*`` might not actually be a stream, so check for the encoding attribute prior to returning it, and return a default if it doesn't exist or evaluates as False. ``default`` is None if not provided. �encoding)�hasattrr )�stream�defaults �;/usr/lib/python3/dist-packages/ipython_genutils/encoding.py�get_stream_encr s, � � �6�:�&�&� �f�o� ������ Tc � � d}| rt t j � � }|r|dk r% t j � � }n# t $ r Y nw xY w|pt j � � }|dk rt j dt � � dS |S )a� Return IPython's guess for the default encoding for bytes as text. If prefer_stream is True (default), asks for stdin.encoding first, to match the calling Terminal, but that is often None for subprocesses. Then fall back on locale.getpreferredencoding(), which should be a sensible platform default (that respects LANG environment), and finally to sys.getdefaultencoding() which is the most conservative option, and usually ASCII on Python 2 or UTF8 on Python 3. N�ascii�cp0z�Invalid code page cp0 detected - using cp1252 instead.If cp1252 is incorrect please ensure a valid code page is defined for the process.�cp1252) r �sys�stdin�locale�getpreferredencoding� Exception�getdefaultencoding�warnings�warn�RuntimeWarning)� prefer_stream�encs r r r &