403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.142.201.222
Web Server : LiteSpeed
System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64
User : jenniferflocom ( 1321)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python37/lib/python3.7/site-packages/svgwrite/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python37/lib/python3.7/site-packages/svgwrite/__pycache__/utils.cpython-37.pyc
B

��]g�@sdZddlmZddlZddlZddlZejddkZddlm	Z	er\ddl
mZeZ
eZn(ddlZe�de�ddlmZdd	�Z
d
d�ZddlmZd/dd�Zdd�Zd0dd�Zdd�Zdd�Zdd�Zd1dd�ZGdd�de�Zd2d d!�Zd"d#d$d%d&d'd(�Z d)d*�Z!d+d,�Z"d-d.�Z#dS)3z�

.. autofunction:: rgb

.. autofunction:: iterflatlist

.. autofunction:: strlist

.. autofunction:: get_unit

.. autofunction:: split_coordinate

.. autofunction:: split_angle

.. autofunction:: rect_top_left_corner

.. autofunction:: pretty_xml

�)�unicode_literalsN�)�partial)�urlopenz1Python 2 support will be dropped with version 1.4cCst|t�rt|dd�St|�S)N�utf8)�encoding)�
isinstance�str�unicode)�value�r�?/opt/alt/python37/lib/python3.7/site-packages/svgwrite/utils.py�
to_unicode,srcCs
t|t�S)N)r�
basestring)rrrr
�	is_string1sr)�pattern�RGBcCsldd�}|��dkr:dt|�d@t|�d@t|�d@fS|dkr\d||�||�||�fStd|��d	S)
aM
    Convert **r**, **g**, **b** values to a `string`.

    :param r: red part
    :param g: green part
    :param b: blue part
    :param string mode: ``'RGB | %'``

    :rtype: string

    ========= =============================================================
    mode      Description
    ========= =============================================================
    ``'RGB'`` returns a rgb-string format: ``'rgb(r, g, b)'``
    ``'%'``   returns percent-values as rgb-string format: ``'rgb(r%, g%, b%)'``
    ========= =============================================================

    cSs$t|�}|dkrd}|dkr d}|S)Nr�d)�float)rrrr
�percentJszrgb.<locals>.percentrz
rgb(%d,%d,%d)��%zrgb(%d%%,%d%%,%d%%)zInvalid mode '%s'N)�upper�int�
ValueError)�r�g�b�moderrrr
�rgb7s&rccsDx>|D]6}t|d�r6t|�s6xt|�D]
}|Vq&Wq|VqWdS)z:
    Flatten nested *values*, returns an `iterator`.

    �__iter__N)�hasattrr�iterflatlist)�values�element�itemrrr
r"\s

r"�,cCs(t|�r|S|�dd�t|�D��SdS)z�
    Concatenate **values** with **sepertator**, `None` values will be excluded.

    :param values: `iterable` object
    :returns: `string`

    cSsg|]}|dk	rt|��qS)N)r	)�.0rrrr
�
<listcomp>tszstrlist.<locals>.<listcomp>N)r�joinr")r#Z	seperatorrrr
�strlistisr*cCs<t|ttf�rdStj�|�}|r,|�d�Std|��dS)z�
    Get the `unit` identifier of **coordinate**, if **coordinate** has a valid
    `unit` identifier appended, else returns `None`.

    N�zInvalid format: '%s')rrrr�
coordinate�match�groupr)r,�resultrrr
�get_unitws
r0cCsRt|ttf�rt|�dfStj�|�}|rBt|�d��|�d�fStd|��dS)z�
    Split coordinate into `<number>` and 'unit` identifier.

    :returns: <2-tuple> (number, unit-identifier) or (number, None) if no unit-identifier
      is present or coordinate is an int or float.

    N�r+zInvalid format: '%s')rrrrr,r-r.r)r,r/rrr
�split_coordinate�sr2cCsRt|ttf�rt|�dfStj�|�}|rBt|�d��|�d�fStd|��dS)z�
    Split angle into `<number>` and `<angle>` identifier.

    :returns: <2-tuple> (number, angle-identifier) or (number, None) if no angle-identifier
      is present or angle is an int or float.

    Nr1r+zInvalid format: '%s')rrrr�angler-r.r)r3r/rrr
�split_angle�s	r4�top-leftc
Cs|���d�\}}t|d�\}}t|d�\}}t|d�\}	}
t|d�\}}||
krbtd��||krrtd��|dkr�||	d}n&|dkr�||	}n|d	kr�td
|��|dkr�||d}n&|dkr�||}n|d
kr�td|��|r�d||f}|�rd||f}||fS)a4
    Calculate top-left corner of a rectangle.

    **insert** and **size** must have the same units.

    :param 2-tuple insert: insert point
    :param 2-tuple size: (width, height)
    :param string pos: insert position ``'vert-horiz'``
    :return: ``'top-left'`` corner of the rect
    :rtype: 2-tuple

    ========== ==============================
    pos        valid values
    ========== ==============================
    **vert**   ``'top | middle | bottom'``
    **horiz**  ``'left'|'center'|'right'``
    ========== ==============================
    �-rr1z0x-coordinate and width has to have the same unitz1y-coordinate and height has to have the same unit�centerg@�right�leftz!Invalid horizontal position: '%s'�middleZbottom�topzInvalid vertical position: '%s'z%s%s)�lower�splitr2r)
�insert�size�posZvertZhoriz�xZxunit�yZyunit�widthZwunit�heightZhunitrrr
�rect_top_left_corner�s4

rEc@s6eZdZdZd	dd�Zed
dd��Zeddd��ZdS)�AutoIDr1NcCs|�|�dS)N)�
_set_value)�selfrrrr
�__init__�szAutoID.__init__cCs|dk	r||_dS)N)�_nextid)�clsrrrr
rG�szAutoID._set_valuecCs&|�|�d|j}|jd7_|S)Nzid%dr1)rGrJ)rKr�retvalrrr
�next_id�s

zAutoID.next_id)N)N)N)�__name__�
__module__�__qualname__rJrI�classmethodrGrMrrrr
rF�s
rFcCsvddlmm}t|�dkr.|��dkr.dStr>|�|�}n|�|�d��}|jd|d��	d�}d�
|d	d��S)
z�
    Create human readable XML string.

    :param xml_string: input xml string without line breaks and indentation
    :indent int: how much to indent, by default 2 spaces
    :return: xml_string with linebreaks and indentation

    rN��zutf-8� )�indent�
r1)Zxml.dom.minidom�dom�minidom�len�strip�PYTHON3�parseString�encodeZtoprettyxmlr=r))Z
xml_stringrUrXZxml_tree�linesrrr
�
pretty_xml�s	r_zapplication/x-font-ttfzapplication/x-font-opentypezapplication/font-woffzapplication/font-woff2zapplication/vnd.ms-fontobjectzapplication/font-sfnt)ZttfZotfZwoffZwoff2ZeotZsfntcCs$tj�|���\}}t|dd�S)Nr1)�os�path�splitextr<�FONT_MIMETYPES)�name�_�extrrr
�
font_mimetypesrgcCst�|���}dj||d�S)Nz+data:{mimetype};charset=utf-8;base64,{data})�mimetype�data)�base64�	b64encode�decode�format)rirhrrr
�base64_datasrncCs(ddl}|�d|�}|r |dSdSdS)Nrzurl\((.*?)\))�re�findall)�textror/rrr
�find_first_urls
rr)rrrr)r&)r5)r)$�__doc__�
__future__r�sysr`rj�version_infor[�	functoolsrZurllib.requestrr	rr�warnings�warn�DeprecationWarning�urllibrZ
svgwrite.datarrr"r*r0r2r4rE�objectrFr_rcrgrnrrrrrr
�<module>sD
%

3


Youez - 2016 - github.com/yon3zu
LinuXploit