a
    `gG                     @   s  d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZmZmZm	ZmZmZmZmZmZmZ ddlmZ dd	lmZ dd
lmZ ddl m!Z! ddl"m#Z#m$Z$ ddl%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z` ddlambZb ddlcmdZd ddlemfZfmgZg ddlhmiZimjZjmkZk ddllmmZmmnZnmoZo ddlpmqZqmrZrmsZsmtZt ddlumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZ ddlmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZmZmZ ddlmZmZmZ dZerd dlmZ n*zd dlmZ W n ey0   eZY n0 ejde`dd ee Zddddddded ededjedddd!d"ee#ee# f eeeef  ee ee!ee! df eeejeej f  eeee eed#  eee eeej eee ee edd$d%d&Zed' e jdd(d)d*Zddddddded ededjedddd!dd+ee#ee# f eeeef  ee ee!ee! df eeejeej f  eeee eed#  eee eeej eee ee eee j dd,d-d.Zee dd/d0d1Zed2kr eejdd  dS )3    N)ArgumentParser)Iterable)suppress)import_module)TYPE_CHECKINGAny	AwaitableCallabler   ListOptionalSetTypeUnioncast   )AbstractAccessLogger)AppKey)access_logger)PathLike)ApplicationCleanupError);HTTPAcceptedHTTPBadGatewayHTTPBadRequestHTTPClientErrorHTTPConflictHTTPCreated	HTTPErrorHTTPExceptionHTTPExpectationFailedHTTPFailedDependencyHTTPForbidden	HTTPFoundHTTPGatewayTimeoutHTTPGoneHTTPInsufficientStorageHTTPInternalServerErrorHTTPLengthRequiredHTTPMethodNotAllowedHTTPMisdirectedRequestHTTPMoveHTTPMovedPermanentlyHTTPMultipleChoices!HTTPNetworkAuthenticationRequiredHTTPNoContentHTTPNonAuthoritativeInformationHTTPNotAcceptableHTTPNotExtendedHTTPNotFoundHTTPNotImplementedHTTPNotModifiedHTTPOkHTTPPartialContentHTTPPaymentRequiredHTTPPermanentRedirectHTTPPreconditionFailedHTTPPreconditionRequiredHTTPProxyAuthenticationRequiredHTTPRedirectionHTTPRequestEntityTooLargeHTTPRequestHeaderFieldsTooLargeHTTPRequestRangeNotSatisfiableHTTPRequestTimeoutHTTPRequestURITooLongHTTPResetContentHTTPSeeOtherHTTPServerErrorHTTPServiceUnavailableHTTPSuccessfulHTTPTemporaryRedirectHTTPTooManyRequestsHTTPUnauthorizedHTTPUnavailableForLegalReasonsHTTPUnprocessableEntityHTTPUnsupportedMediaTypeHTTPUpgradeRequiredHTTPUseProxyHTTPVariantAlsoNegotiatesHTTPVersionNotSupportedNotAppKeyWarning)FileResponse)AccessLogger)
middlewarenormalize_path_middleware)PayloadAccessErrorRequestHandlerRequestPayloadError)BaseRequest	FileFieldRequest)ContentCodingResponseStreamResponsejson_response)AbstractRouteDefRouteDefRouteTableDef	StaticDefdeletegetheadoptionspatchpostputroutestaticview)		AppRunner
BaseRunnerBaseSiteGracefulExitNamedPipeSiteServerRunnerSockSiteTCPSiteUnixSite)Server)AbstractResourceAbstractRouteDynamicResourcePlainResourcePrefixedSubAppResourceResourceResourceRouteStaticResourceUrlDispatcherUrlMappingMatchInfoView)WebSocketReadyWebSocketResponse	WSMsgType)rr   r   r   rQ   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rR   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rs   rt   ru   rv   rr   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   run_app)
SSLContextignoreT)categoryappendg      N@g     R@   Fhostportpathsockshutdown_timeoutkeepalive_timeoutssl_contextprintbacklogaccess_log_classaccess_log_format
access_loghandle_signalsreuse_address
reuse_porthandler_cancellation).N)appr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   returnc                   s  t | r| I d H } tt| } t| ||
|||||d}| I d H  g }z|d urt|ttt	t
fr|t|||||	||d q|D ] }|t|||||	||d qn2|d u r|d u s|d ur|t||||	||d |d ur4t|ttjfr|t||||	d n"|D ]}|t||||	d q|d urt|tsb|t||||	d n"|D ]}|t||||	d qf|D ]}| I d H  q|rtdd |jD }|dd| t d	I d H  qW | I d H  n| I d H  0 d S )
N)r   r   r   r   r   r   r   )r   r   r   r   )r   r   r   r   r   )r   r   c                 s   s   | ]}t |jV  qd S )N)strname).0s r   Y/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/aiohttp/web.py	<genexpr>      z_run_app.<locals>.<genexpr>z6======== Running on {} ========
(Press CTRL+C to quit)z, i  )asyncioiscoroutiner   r   rn   setup
isinstancer   bytes	bytearray
memoryviewr   ru   osr   rv   r   rt   startsortedsitesformatjoinsleepcleanup)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   runnerr   hpr   sitenamesr   r   r   _run_app1  s    



		
	r   zasyncio.Task[Any])	to_cancelloopr   c                 C   sj   | sd S | D ]}|   q|tj| ddi | D ]0}| rBq4| d ur4|d| |d q4d S )Nreturn_exceptionsTz1unhandled exception during asyncio.run() shutdown)message	exceptiontask)cancelrun_until_completer   gather	cancelledr   call_exception_handler)r   r   r   r   r   r   _cancel_tasks  s    
r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                C   s  |du rt  }| rT|rT|jdkrT|jtjkr>|tj |	 sT|
t  |t| |||||||||	|
||||||d}zzt | || W n ttfy   Y n0 W zf|  tt j || W d   n1 s0    Y  W tt || ||  |  n(tt || ||  |  0 nzh|  tt j || W d   n1 s0    Y  W tt || ||  |  n(tt || ||  |  0 0 dS )zRun an app locallyNzaiohttp.accessr   )r   new_event_loop	get_debugr   levelloggingNOTSETsetLevelDEBUGhasHandlers
addHandlerStreamHandlercreate_taskr   set_event_loopr   rq   KeyboardInterruptr   r   CancelledErrorr   	all_tasksshutdown_asyncgensclose)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Z	main_taskr   r   r   r     sj    
*
,
r   )argvr   c              
   C   s  t ddd}|jdddd |jdd	d
d d |jdddtdd |jdddd || \}}|jd\}}}|rz|s|d |dr|d zt|}W n: t	y } z"|d| d|  W Y d }~n
d }~0 0 zt
||}	W n* ty   |d|d| Y n0 |jd ur<ttds<|d tjtjd |jrh|jd u rhd  }
}n|jprd }
|j}|	|}t||
||jd! |jd"d# d S )$Nzaiohttp.web Application serverzaiohttp.web)descriptionprog
entry_funczvCallable returning the `aiohttp.web.Application` instance to run. Should be specified in the 'module:function' syntax.z
entry-func)helpmetavarz-Hz
--hostnamez0TCP/IP hostname to serve on (default: localhost))r   defaultz-Pz--portz.TCP/IP port to serve on (default: %(default)r)i  )r   typer   z-Uz--pathz_Unix file system path to serve on. Can be combined with hostname to serve on both Unix and TCP.)r   :z,'entry-func' not in 'module:function' syntax.z#relative module names not supportedzunable to import z: zmodule z has no attribute AF_UNIXz=file system paths not supported by your operating environment)r   	localhost)r   r   r   zStopped
)r   )r   add_argumentintparse_known_argsr   	partitionerror
startswithr   ImportErrorgetattrAttributeErrorr   hasattrsocketr   basicConfigr   hostnamer   r   exit)r   Z
arg_parserargsZ
extra_argvZmod_str_Zfunc_strmoduleexfuncr   r   r   r   r   r   main  sh    


,
r   __main__)r   r   r   r   syswarningsargparser   collections.abcr   
contextlibr   	importlibr   typingr   r   r   r	   ZTypingIterabler
   r   r   r   r   r   abcr   helpersr   logr   Ztypedefsr   Zweb_appr   r   Zweb_exceptionsr   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   Zweb_fileresponserR   Zweb_logrS   Zweb_middlewaresrT   rU   Zweb_protocolrV   rW   rX   Zweb_requestrY   rZ   r[   Zweb_responser\   r]   r^   r_   Zweb_routedefr`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   Z
web_runnerrn   ro   rp   rq   rr   rs   rt   ru   rv   Z
web_serverrw   Zweb_urldispatcherrx   ry   rz   r{   r|   r}   r~   r   r   r   r   Zweb_wsr   r   r   __all__sslr   r   objectfilterwarningsr   ZHostSequencer   Z
LOG_FORMATr   floatLoggerboolr   AbstractEventLoopr   r   r   __name__r   r   r   r   r   <module>   s   4=@,4 

 

FC
