o
    h^                     @  st  d dl mZ d dlmZ d dlm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Zd d	lmZ eeZed
e  z-d dlZd dlZd dlZed ejedd d d d Zede\ZZZZ ed kr{dZW n e!e"fy   dZY nw ddd1ddZ#e	d2d3ddZ$d4d5dd Z%d6d"d#Z&d7d8d(d)Z'	d9d:d,d%Z(d;d/d0Z)dS )<    )annotations)Iterable)contextmanagerN)Iterator)Optional)TextIO)Union)urlalembicHHHHFquietstreamr   textUnion[str, bytes]r   boolreturnNonec             	   G  sj   |rd S t | ddpd}|D ]$}t|ts||d}||}z| | W q ty2   Y  d S w d S )Nencodingasciireplace)getattr
isinstancebytesencodedecodewriteOSError)r   r   r   r   t r   j/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/alembic/util/messaging.pywrite_outstream#   s   

r!   
status_msgstrnewlineIterator[None]c                 c  sR    t | d |d|d zd V  W n   |sttjd  |s'ttjd d S d S )Nz ...T)flushr   z	  FAILED
z  done
)msgr!   sysstdout)r"   r$   r   r   r   r    status6   s   
r*   messagec                 C  s*   t |  td|  |d td d S )NzFAILED: r   )logerrorr'   r(   exit)r+   r   r   r   r    errF   s   
r0   	input_urlc                 C  s   t | jddS )NT)hide_password)r	   make_urlrender_as_string)r1   r   r   r    obfuscate_url_pwL   s   r5      r'   
stacklevelintc                 C  s   t j| t|d d S )N)r7   )warningswarnUserWarning)r'   r7   r   r   r    r:   P   s   r:   Tr&   c                 C  s   |rd S t d u rttj|  |rttjd n.d}tj| t ||d}t|dkr8|dd D ]	}ttj|d q.ttj|d |rBdnd |rNtj  d S d S )N
z  )initial_indentsubsequent_indent   r   r,    )	TERMWIDTHr!   r(   r)   textwrapwraplenr&   )r'   r$   r&   r   indentlinesliner   r   r    r'   T   s*   value#Optional[Union[str, Iterable[str]]]c                 C  s:   | d u rdS t | tr| S t | trd| S td|  )Nr@   z, z!Don't know how to comma-format %r)r   r#   r   join
ValueError)rH   r   r   r    format_as_comman   s   


rL   )r   r   r   r   r   r   r   r   )FF)r"   r#   r$   r   r   r   r   r%   )F)r+   r#   r   r   r   r   )r1   r#   r   r#   )r6   )r'   r#   r7   r8   r   r   )TFF)
r'   r#   r$   r   r&   r   r   r   r   r   )rH   rI   r   r#   )*
__future__r   collections.abcr   
contextlibr   loggingr(   rB   typingr   r   r   r   r9   sqlalchemy.enginer	   	getLogger__name__r-   
addHandlerNullHandlerfcntltermiosstructioctl
TIOCGWINSZpackunpack_hrA   _hp_wpImportErrorr   r!   r*   r0   r5   r:   r'   rL   r   r   r   r    <module>   sJ    

