%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/opt/alt/python37/lib/python3.7/site-packages/babel/__pycache__/
Upload File :
Create Path :
Current File : //proc/self/root/opt/alt/python37/lib/python3.7/site-packages/babel/__pycache__/util.cpython-37.pyc

B

qD�Y\"�@sdZddlZddlmZmZddlZddlZddlZddlm	Z	m
Z
ddlZddl
mZe�Zdd�Ze�dej�Zd	d
�Ze�d�Zdd
d�Zdd�ZGdd�dej�Zddd�ZGdd�de�ZGdd�de�ZejZej Z ej!Z!ej"Z"ej#Z#ej$Z$ej%Z%dS)z�
    babel.util
    ~~~~~~~~~~

    Various utility classes and functions.

    :copyright: (c) 2013 by the Babel Team.
    :license: BSD, see LICENSE for more details.
�N)�	timedelta�tzinfo)�izip�imap)�	localtimeccs4t�}x(t|�D]}||kr|V|�|�qWdS)a�Yield all items in an iterable collection that are distinct.

    Unlike when using sets for a similar effect, the original ordering of the
    items in the collection is preserved by this function.

    >>> print(list(distinct([1, 2, 1, 3, 4, 4])))
    [1, 2, 3, 4]
    >>> print(list(distinct('foobar')))
    ['f', 'o', 'b', 'a', 'r']

    :param iterable: the iterable collection providing the data
    N)�set�iter�add)�iterable�seen�item�r
�;/opt/alt/python37/lib/python3.7/site-packages/babel/util.py�distincts

rs([ \t\f]* \# .* coding[=:][ \t]*([-\w.]+)c
Cs�|��}|�d�z�|��}|�tj�}|r>|ttj�d�}t�|�}|s�yddl	}|�
|�d��Wntt
tfk
r�YnX|��}t�|�}|r�|r�|�d��d�}|dkr�t
d�|���dS|r�|�d��d�SdSWd|�|�XdS)a/Deduce the encoding of a source file from magic comment.

    It does this in the same way as the `Python interpreter`__

    .. __: https://docs.python.org/3.4/reference/lexical_analysis.html#encoding-declarations

    The ``fp`` argument should be a seekable file object.

    (From Jeff Dairiki)
    rNzlatin-1�zutf-8zencoding problem: {0} with BOM)�tell�seek�readline�
startswith�codecs�BOM_UTF8�len�PYTHON_MAGIC_COMMENT_re�match�parserZsuite�decode�ImportError�SyntaxError�UnicodeEncodeError�group�format)�fp�posZline1Zhas_bom�mrZline2Zmagic_comment_encodingr
r
r�parse_encoding0s8


r$z'from\s+__future__\s+import\s+\(*(.+)\)*�latin-1c
	Cs�ddl}|��}|�d�d}z�|���|�}t�dd|�}t�dd|�}t�dd|�}xTt�|�D]F}d	d
�|�	d��
d�D�}x&|D]}t||d�}	|	r�||	jO}q�WqdWWd|�|�X|S)
zRParse the compiler flags by :mod:`__future__` from the given Python
    code.
    rNzimport\s*\([\r\n]+zimport (z,\s*[\r\n]+z, z\\\s*[\r\n]+� cSsg|]}|���d��qS)z())�strip)�.0�xr
r
r�
<listcomp>|sz&parse_future_flags.<locals>.<listcomp>r�,)
�
__future__rr�readr�re�sub�PYTHON_FUTURE_IMPORT_re�finditerr�split�getattrZ
compiler_flag)
r!�encodingr,r"�flagsZbodyr#�names�nameZfeaturer
r
r�parse_future_flagsfs"

r8cCs�ddddddd�}g}xHtt�d|��D]4\}}|d	rH|�||�q(|r(|�t�|��q(Wt�d
�|�d|�tj	d��}|d
k	S)aExtended pathname pattern matching.

    This function is similar to what is provided by the ``fnmatch`` module in
    the Python standard library, but:

     * can match complete (relative or absolute) path names, and not just file
       names, and
     * also supports a convenience pattern ("**") to match files at any
       directory level.

    Examples:

    >>> pathmatch('**.py', 'bar.py')
    True
    >>> pathmatch('**.py', 'foo/bar/baz.py')
    True
    >>> pathmatch('**.py', 'templates/index.html')
    False

    >>> pathmatch('**/templates/*.html', 'templates/index.html')
    True
    >>> pathmatch('**/templates/*.html', 'templates/foo/bar.html')
    False

    :param pattern: the glob pattern
    :param filename: the path name of the file to match against
    z[^/]z[^/]/z[^/]+z[^/]+/z	(?:.+/)*?z(?:.+/)*?[^/]+)�?z?/�*z*/z**/z**z	([?*]+/?)���$�/N)
�	enumerater.r2�append�escaper�join�replace�os�sep)�pattern�filenameZsymbolsZbuf�idx�partrr
r
r�	pathmatch�s rJc@seZdZe�d�ZdS)�TextWrapperz((\s+|(?<=[\w\!\"\'\&\.\,\?])-{2,}(?=\w))N)�__name__�
__module__�__qualname__r.�compileZ
wordsep_rer
r
r
rrK�srK�Fr<cCst|||dd�}|�|�S)a�Simple wrapper around the ``textwrap.wrap`` function in the standard
    library. This version does not wrap lines on hyphens in words.

    :param text: the text to wrap
    :param width: the maximum line width
    :param initial_indent: string that will be prepended to the first line of
                           wrapped output
    :param subsequent_indent: string that will be prepended to all lines save
                              the first of wrapped output
    F)�width�initial_indent�subsequent_indentZbreak_long_words)rKZwrap)�textrQrRrS�wrapperr
r
r�wraptext�srVc@s�eZdZdZd!dd�Zdd�Zdd�Zd	d
�ZeZdd�Z	d
d�Z
dd�Zdd�Zdd�Z
efdd�Zdd�Zd"dd�Zdd�Zdd�Zdd �ZdS)#�odictzkOrdered dict implementation.

    :see: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/107747
    NcCs$t�||pi�tt�|��|_dS)N)�dict�__init__�list�keys�_keys)�self�datar
r
rrY�szodict.__init__cCst�||�|j�|�dS)N)rX�__delitem__r\�remove)r]�keyr
r
rr_�szodict.__delitem__cCs*||k}t�|||�|r&|j�|�dS)N)rX�__setitem__r\r@)r]rarZnew_keyr
r
rrb�szodict.__setitem__cCs
t|j�S)N)rr\)r]r
r
r�__iter__�szodict.__iter__cCst�|�g|_dS)N)rX�clearr\)r]r
r
rrd�s
zodict.clearcCst�}|�|�|S)N)rW�update)r]�dr
r
r�copy�s
z
odict.copycCst|j|���S)N)�zipr\�values)r]r
r
r�items�szodict.itemscCst|j|���S)N)rr\�
itervalues)r]r
r
r�	iteritems�szodict.iteritemscCs|jdd�S)N)r\)r]r
r
rr[�sz
odict.keysc
CsVyt�||�}|j�|�|Stk
rP}z|tkr<|�n|SWdd}~XYnXdS)N)rX�popr\r`�KeyError�missing)r]ra�default�value�er
r
rrm�sz	odict.popcCs|j�|�t�|�S)N)r\r`rX�popitem)r]rar
r
rrssz
odict.popitemcCs(t�|||�||jkr$|j�|�dS)N)rX�
setdefaultr\r@)r]raZfailobjr
r
rrts
zodict.setdefaultcCs"x|��D]\}}|||<q
WdS)N)rj)r]rXra�valr
r
rre
szodict.updatecCst|j|j�S)N)�map�getr\)r]r
r
rriszodict.valuescCst|j|j�S)N)rrwr\)r]r
r
rrkszodict.itervalues)N)N)rLrMrN�__doc__rYr_rbrcZiterkeysrdrgrjrlr[rormrsrtrerirkr
r
r
rrW�s"

rWc@sBeZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�FixedOffsetTimezonez&Fixed offset in minutes east from UTC.NcCs&t|d�|_|dkrd|}||_dS)N)Zminutesz
Etc/GMT%+d)r�_offset�zone)r]�offsetr7r
r
rrYszFixedOffsetTimezone.__init__cCs|jS)N)r{)r]r
r
r�__str__szFixedOffsetTimezone.__str__cCsd|j|jfS)Nz<FixedOffset "%s" %s>)r{rz)r]r
r
r�__repr__!szFixedOffsetTimezone.__repr__cCs|jS)N)rz)r]�dtr
r
r�	utcoffset$szFixedOffsetTimezone.utcoffsetcCs|jS)N)r{)r]rr
r
r�tzname'szFixedOffsetTimezone.tznamecCstS)N)�ZERO)r]rr
r
r�dst*szFixedOffsetTimezone.dst)N)
rLrMrNrxrYr}r~r�r�r�r
r
r
rrys
ry)r%)rPr<r<)&rxrZdatetimerrrDr.�textwrapZ
babel._compatrrZpytzZ_pytzZbabelr�objectrorrO�VERBOSErr$r0r8rJrKrVrXrWryZutcZUTCZLOCALTZZ
get_localzoneZ	STDOFFSETZ	DSTOFFSETZDSTDIFFr�r
r
r
r�<module>
s8
2
 .
I

Zerion Mini Shell 1.0