o
    ^i #                     @   sD  d dl Z d dlZd dlmZmZ d dlmZmZ d dlmZm	Z	 d dl
mZ zd dlmZ d dlmZ dd	lmZ W n eyS Z zed
e dd d ddZ[ww d dlZd dlZd dlmZ d dlmZ d dlmZ e  ZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)ee e!e"e#e$e%e&e'e(e)gZ*dZ+G dd de,Z-G dd  d e,Z.ej/d!d"d#gid$ej0d%e1d&d'd(d)ej0d*e2d+d,d(d)ej3ejdd-e1d.e2d/dfd0d1Z4ed/efd2d3Z5d/ej6fd4d5Z7d6ej8d3ed/ej9fd7d8Z:d9ee1 d/ej;fd:d;Z<d<e1d/e=e>e?ej@ f fd=d>ZAdBd?d@ZBeCdAkr eB  dS dS )C    N)ExecutorProcessPoolExecutor)datetimetimezone)cachepartial)freeze_support)web)MultiMapping   )corsz%aiohttp dependency is not installed: z. z5Please re-install black with the '[d]' extra install z.to obtain aiohttp_cors: `pip install black[d]`)version)maybe_install_uvloop)PreviewzX-Protocol-VersionzX-Line-LengthzX-Python-VariantzX-Skip-Source-First-LinezX-Skip-String-NormalizationzX-Skip-Magic-Trailing-Commaz	X-Previewz
X-UnstablezX-Enable-Unstable-FeaturezX-Fast-Or-SafezX-DiffzX-Black-Versionc                   @      e Zd ZdS )HeaderErrorN__name__
__module____qualname__ r   r   T/var/www/html/stock_analysis/be/venv/lib/python3.10/site-packages/blackd/__init__.pyr   =       r   c                   @   r   )InvalidVariantHeaderNr   r   r   r   r   r   A   r   r   help_option_namesz-hz--help)context_settingsz--bind-hostzAddress to bind the server to.	localhostT)typehelpdefaultshow_defaultz--bind-portzPort to listen oni  	bind_host	bind_portreturnc                 C   sN   t jt jd t }tj}td| d|  d|  tj|| |dd d d S )N)levelzblackd version z listening on z port T)hostporthandle_signalsprint)	loggingbasicConfigINFOmake_appblack__version__outr	   run_app)r!   r"   appverr   r   r   mainE   s
   r3   c                   C   s   t  S N)r   r   r   r   r   executorY   s   r5   c               	   C   s@   t jtg tdR dgd} | t dttt dg | S )NzContent-Type)allow_headers)middlewares/)r5   )	r	   Applicationr   BLACK_HEADERS
add_routespostr   handler5   )r1   r   r   r   r,   ^   s
   r,   requestc              
      s  t ti}z| jtddkrtjdddW S d}| jtddkr$d}zt| j}W n t	yH } ztjd	|j
d
 dW  Y d }~W S d }~ww | j I d H }| jd urY| jnd}||}ttj}	d}
|jr~|dd }|d | }
||d  }t }||ttj|||dI d H }tj|vr|d}|d
kr||d  dkr|dd}||krtj|
| }|
| }t| jt d}|rttj}d|	 }d| }t }||ttj!||||I d H }tj| j"|||dW S  tjy   tjd|d Y S  tj#y% } ztjd	|t$|dW  Y d }~S d }~w t%yF } zt&'d tjd|t$|dW  Y d }~S d }~ww )N1i  z,This server only supports protocol version 1)statustextFsafefastTi  r   utf8 
r   )rC   modez
zIn	zOut	)content_typecharsetheadersrA      )r@   rK   )r@   rK   rA   z#Exception during handling a requesti  )(BLACK_VERSION_HEADERr.   rK   getPROTOCOL_VERSION_HEADERr	   ResponseFAST_OR_SAFE_HEADER
parse_moder   argscontentreadrJ   decoder   nowr   utcskip_source_first_linefindasyncioget_event_looprun_in_executorr   r-   format_file_contentsr   normalize_cr_newlinesreplaceNothingChangedboolDIFF_HEADERdiffrI   InvalidInputstr	Exceptionr)   	exception)r>   r5   rK   rC   rG   e	req_bytesrJ   req_strthenheaderfirst_newline_positionloopformatted_strnl	only_diffrW   src_namedst_namer   r   r   r=   f   s~   "






 
 r=   rK   c                 C   sh  zt | ttj}W n ty   tdd w t| v rC| t }zt|\}}W n t	yB } ztdt d|j
d  d d }~ww d}t }t| td}t| td}t| td}t| td}	t| td}
t }| tdd}|D ]%}| }|rz
|tj|  W q~ ty   tdt d| d w q~tj||||| | |	|
|d	S )	Nz Invalid line length header valuezInvalid value for z: r   FrE   ,)	target_versionsis_pyiline_lengthrY   string_normalizationmagic_trailing_commapreviewunstableenabled_features)intrN   LINE_LENGTH_HEADERr-   DEFAULT_LINE_LENGTH
ValueErrorr   PYTHON_VARIANT_HEADERparse_python_variant_headerr   rS   setrb    SKIP_STRING_NORMALIZATION_HEADERSKIP_MAGIC_TRAILING_COMMASKIP_SOURCE_FIRST_LINEPREVIEWUNSTABLEENABLE_UNSTABLE_FEATUREsplitstripaddr   KeyErrorFileMode)rK   rx   valuepyiversionsri   skip_string_normalizationskip_magic_trailing_commarY   r{   r|   enable_featuresenable_unstable_featurespiecer   r   r   rR      sh   

rR   r   c              
   C   s<  | dkr	dt  fS t  }| dD ]}|dr |tdd  }d|v r,|d^}}n|d }t|dkr=|dd  gng }zLt|}|dvrLtd	t|dkrat|d }|d
kr`tdn|d
krgdnd}d| | }|dkrttj|std| d|	tj|  W q t
tfy   tdd w d|fS )Nr   Tru   py.r   r   )      zmajor version must be 2 or 3r   zPython 2 is not supported   r   PYz3.z is not supportedzexpected e.g. '3.7', 'py3.5'F)r   r   
startswithlenr~   r   hasattrr-   TargetVersionr   r   r   )r   r   r   	major_strrestmajorminorversion_strr   r   r   r      s8   


r   c                   C   s   t   t  t  d S r4   )r   r   r3   r   r   r   r   patched_main  s   
r   __main__)r#   N)Dr[   r)   concurrent.futuresr   r   r   r   	functoolsr   r   multiprocessingr   aiohttpr	   	multidictr
   r7   r   ImportErrorieclickr-   _black_versionr   r.   black.concurrencyr   
black.moder   Event_stop_signalrO   r   r   r   r   r   r   r   r   rQ   rc   r:   rM   rg   r   r   commandoptionrf   r~   version_optionr3   r5   r9   r,   RequestrP   r=   ModerR   tuplerb   r   r   r   r   r   r   r   r   r   <module>   s    

G 3
!

