a
    7ñ»jcw  ã                   @   sX   d Z ddlZddlZddlZddd„Zdd„ Zdd„ Zd	d
„ Zdd„ Ze	dkrTeƒ  dS )a#  
Prints the code/text of any file with syntax-highlighting

Usage:
        seleniumbase print [FILE] [OPTIONS]
        OR:    sbase print [FILE] [OPTIONS]
Options:
        -n   (Add line Numbers to the rows)
Output:
        Prints the code/text of any file
        with syntax-highlighting.
é    Nc                 C   sj   d}|d7 }|d7 }|d7 }|d7 }|d7 }|d7 }|d7 }|d	7 }| sVt d
| ƒ‚nt d| |f ƒ‚d S )Nz  ** print **

z	  Usage:
z)     seleniumbase print [FILE] [OPTIONS]
z)     OR:    sbase print [FILE] [OPTIONS]
z  Options:
z)     -n   (Add line Numbers to the rows)
z
  Output:
z&     Prints the code/text of any file
z     with syntax-highlighting.
zINVALID RUN COMMAND!

%szINVALID RUN COMMAND!
%s

%s)Ú	Exception)ÚmsgÚexp© r   úKE:\soccer\ml_env\Lib\site-packages\seleniumbase/console_scripts/sb_print.pyÚinvalid_run_command   s    r   c                  C   sH   t dƒt dƒdœt dƒt dƒdœt dƒt dƒdœt dƒt d	ƒdœg} | S )
Nu   ä¸€u   é¿¿©ÚfromÚtou   ã�€u   ãƒ¿u   ê°€u   íž£u   ï¼�u   ï½ ©Úord)Zspecial_char_rangesr   r   r   Ú	sc_ranges"   s    ür   c                    s   t ‡ fdd„tƒ D ƒƒ}|S )Nc                    s0   g | ](}|d  t ˆ ƒ  ko&|d kn  ‘qS r   r   )Ú.0Úrange©Úcharr   r   Ú
<listcomp>0   ó    z is_char_wide.<locals>.<listcomp>)Úanyr   )r   Úscr   r   r   Úis_char_wide-   s    ÿr   c                 C   s&   t | ƒ}| D ]}t|ƒr|d7 }q|S )Né   )Úlenr   )ÚlineÚline_lengthr   r   r   r   Ú	get_width5   s
    
r   c            .      C   s¸  t jjt jj } t jjt jj }t jj}d}d}d}d }d}d }t	j
dd … }	|	d }
|
 ¡  d¡rnd}d}nð|
 ¡  d¡r‚d}nÜ|
 ¡  d	¡r–d
}nÈ|
 ¡  d¡rªd}n´|
 ¡  d¡r¾d}n |
 ¡  d¡rÒd}nŒ|
 ¡  d¡ræd}nx|
 ¡  d¡rúd}nd|
 ¡  d¡�rd}nN|
 ¡  d¡�r&d}n8|
 ¡  d¡�r<d}n"d|
v�rLd
}n|
 d¡d  ¡ }t|	ƒdk�r|	dd … }|D ]�}| ¡ }|dk�r˜d}nr|dk�r¨d}nbd| }| dd|  d  ¡}| d!d | d" ¡}| d|d | ¡}| d"|d" | ¡}d} �q�q||�rt|ƒ d }t|
d#d$d%d&��}| ¡ }W d   ƒ n1 �sP0    Y  | d'd(¡}| d)¡}d }d }d }zt ¡ j}|�r–t|ƒ}W n t�y°   d }Y n0 dd*lm} d) |¡}d}d}|�rd+}t|ƒ}|d,k�rðd-}|d.k�rþd/}|d0k�rd1}|d2k�rd3}|�r$g }|D �]ä}| d4¡�rV| d4¡dk�rV| d4d5¡}t|ƒ}t|ƒ}||k�rt|}|�r(|| |k�r| ¡  d6¡�r¨| |¡ �q(n’| d7¡dk�ròt| d7¡d ƒ| |k�rò| d7¡d }| |¡ �q(nH| d8¡dk�r:t| d8¡d ƒ| |k�r:| d7¡d }| |¡ �q(| d9¡�rŒd:|v �rŒ| d:¡d d; }d<| d:¡d  }| |¡ | |¡ �q(| d=¡dk�	r | d=¡| d>¡k�	r |t|  ¡ ƒ }|d|… d( }| !d=¡} |d | d … }||| d d …  }d?|v�rÞ| |¡ t|ƒ| |k�rÒ| d@¡dk�rz| d@¡d dA }!|dB | d@¡d  }"| |!¡ | |"¡ �q(�nX| dC¡dk�rÎ| dC¡d dD }!|dE | dC¡d  }"| |!¡ | |"¡ �q(�n| dF¡dk�rÈ| dG¡dk�rÈ| dF¡d dH }!|dB | dF¡d  }"| |!¡ t|"ƒ| |k�r¶|" dI¡dk�r¶|" !dI¡}#|#d }$|"d |#d … dB }%|dB |"|$d …  }&| |%¡ |& dJ¡dk�r¨|& dJ¡d d> }&| |&¡ �q(| |"¡ �q(�n
| dF¡dk�rÂ| dK¡dk�rÂ| dF¡d dL }!|dE | dF¡d  }"| |!¡ t|"ƒ| |k�r°|" dI¡dk�r°|" !dI¡}#|#d }$|"d |#d … dE }%|dE |"|$d …  }&| |%¡ |& dJ¡dk�r¢|& dJ¡d d> }&| |&¡ �q(| |"¡ �q(�n| dM¡dk�r| dM¡d dN }!|| dM¡d  }"| |!¡ | |"¡ �q(nÂ| dO¡dk�rr|  ¡  dE¡�rr| dO¡d dP }!|dQ | dO¡d  }"| |!¡ | |"¡ �q(n`| dP¡dk�rÒ|  ¡  dB¡�rÒ| dP¡d dO }!|dR | dP¡d  }"| |!¡ | |"¡ �q(| |¡ n>t|ƒd+ | |k�	rd(| }| |¡ | |¡ n
| |¡ �q(| dS¡dk�
r<|t|  ¡ ƒ }|d|… d( }| dS¡d d= }|dB | dS¡d  }d?|v�	rú| |¡ t|ƒ| |k�	rî| dT¡dk�	rî| dT¡d dU }!|dV | dT¡d  }"| |!¡ | |"¡ �q(| |¡ n>t|ƒd+ | |k�
r.d(| }| |¡ | |¡ n
| |¡ �q(| dW¡dk�rX|t|  ¡ ƒ }|d|… d( }| dW¡d d= }|dE | dW¡d  }d?|v�r| |¡ t|ƒ| |k�r
| dX¡dk�r
| dX¡d dY }!|dV | dX¡d  }"| |!¡ | |"¡ �q(| |¡ n>t|ƒd+ | |k�rJd(| }| |¡ | |¡ n
| |¡ �q(| dZ¡dk�rL| dF¡dk�rL|t|  ¡ ƒ }|d|… d( }| dF¡d d[ }|dB | dF¡d  }| |¡ t|ƒ| |k�r>| dI¡dk�r>| !dI¡}#|#d }$|d |#d … d\ }!|dB ||$d …  }"| |!¡ | |"¡ �q(| |¡ �q(| d]¡dk�r@| dF¡dk�r@|t|  ¡ ƒ }|d|… d( }| dF¡d d^ }|dE | dF¡d  }| |¡ t|ƒ| |k�r2| dI¡dk�r2| !dI¡}#|#d }$|d |#d … d_ }!|dE ||$d …  }"| |!¡ | |"¡ �q(| |¡ �q(| d`¡dk�rÌd?|v�rÌ|t|  ¡ ƒ }|d|… d( }| d`¡d d= }|dV | d`¡d  }t|ƒ| |k�rÌ| |¡ | |¡ �q(| da¡dk�rv| db¡�svdc|v �sv|t|  ¡ ƒ }|d|… d( }| da¡d dd }|| da¡d  d> }t|ƒ| |k�rvt|ƒ| |k�rv| |¡ | |¡ �q(| da¡dk�r| db¡�r|t|  ¡ ƒ }|d|… de }| da¡d dd }|| da¡d d d…  d? }t|ƒ| |k�rt|ƒ| |k�r| |¡ | |¡ �q(| da¡dk�r*| dc¡dk�r*| !da¡| !dc¡k �r*|t|  ¡ ƒ }|d|… de }df| dc¡d  }'| dc¡d db }(|( da¡d dd }||( da¡d d d…  d? }t|ƒ| |k�r*t|ƒ| |k�r*| |¡ t||' ƒ| |k�r| ||' ¡ n
| |¡ �q(| dg¡dk�r¶d?|v�r¶|t|  ¡ ƒ }|d|… d( }| dg¡d d; }|dh | dg¡d  }t|ƒ| |k�r¶| |¡ | |¡ �q(| di¡dk�rd7|v�r|t|  ¡ ƒ }|d|… d( }| di¡d dj }|| di¡d  d> }t|ƒ| |k�rVt|ƒ| |k�rV| |¡ | |¡ �q(n¬t|ƒ| |k�r| dg¡dk�r| db¡�s|t|  ¡ ƒ }| dg¡d d; }!|dh | dg¡d  }"t|!ƒ| |k�rt|"ƒ| |k�r| |¡ | |!¡ | |"¡ �q(| di¡dk�r| d7¡dk�r| !di¡| !d7¡k �r|t|  ¡ ƒ }|d|… de }d7| d7¡d  }'| d7¡d }(|( di¡d dj }||( di¡d  d> }t|ƒ| |k�rt|ƒ| |k�r| |¡ t||' ƒ| |k�rô| ||' ¡ n
| |¡ �q(| |¡ �q(|�r$|}d) |¡}|dk�rP|D ]}t|ƒ}||k�r2|}�q2d})|�rp||) |k �rp||) }| "|¡}dk}*|
 tj#¡d  d¡�ršdl}*|j$|||*|||dm�}dn}+|�rÒ|| |k �rÒ|| }+n
|�rÜ|}+do|+ },t%|,ƒ d}-|d
k�r||�s|| "|¡}dp|v�rJdq|v�rJdr|v�rJds|v�rJ| dtdu¡}| dvdu¡}dw|v�r–dx|v�r–dy|v�r–dz|v�r–| d{d|¡}| d}d|¡}| d~d|¡}| dd€¡ d�d5¡}| d‚d€¡ dƒd5¡}| d„d€¡ d…d5¡}| d†d€¡ d‡d5¡}| &|dˆ¡}| &|d‰¡}| &|dŠ¡}| &|d‹¡}| &|dŒ¡}| &|d�¡}| &|dŽ¡}| &|d�¡}| &|d�¡}| d‘d)¡}| '|¡}-| d)¡�rŒt%ƒ  n|�rŒ| (|¡}-|�r˜|-�s¬|D ]}t%|ƒ �qœt%|,ƒ d S )’NFTé   r   z.pyÚpythonz.jsÚ
javascriptz.mdÚmarkdownz.htmlÚhtmlz.cssÚcssz.goÚgoz.javaÚjavaz.featureÚgherkinz.txtz.ymlz.inÚ.éÿÿÿÿr   z-nz-wz
===> INVALID OPTION: >> %s <<
z>> z>>ú z <<z<<zr+zutf-8Úignore)ÚmodeÚencodingÚerrorsú	z    Ú
)Úrich_helperé   é
   é   éd   é   iè  é   i'  é   z  # noqaÚ ú#z  # z # r	   z import z \z    import ú(ú)z):z", "z",ú"z', 'z',ú'z://z")z://"ú/z)  # z')z://'z, ú,z="z='z'"z"'z("z
" in self.z" inzself.z('z
' in self.z' inz= "z://" \z" \z= 'z://' \z' \z(self.z == ú:z:  #z == (z        z  #z % z% z = z = (ÚmonokaiÚtango)ÚthemeÚline_numbersÚ
code_widthÚ	word_wrapé>   ú-z<b>*z*<b>z</b>*z*</b>z<b>z**z</b>z<code>`z`<code>z</code>`z`</code>z<code translate="no">z``z<code>z</code>z
<h1>z
# z</h1>z
<h2>z</h2>z
<h3>z</h3>z
<h4>z</h4>ÚsummaryÚdetailsÚspanÚdivZimgZliZulÚaÚpz<br />))ÚcoloramaZForeZREDZBackZLIGHTYELLOW_EXZBLACKZMAGENTAÚStyleZ	RESET_ALLÚsysÚargvÚlowerÚendswithÚsplitr   Úreplacer   ÚopenÚreadÚosÚget_terminal_sizeÚcolumnsÚintr   Zseleniumbase.console_scriptsr.   ÚjoinÚcountr   ÚstripÚ
startswithÚappendÚlstripÚfindZfix_emoji_spacingÚsepZprocess_syntaxÚprintZget_code_without_tagZdisplay_markdownZdisplay_code).Zc5Zc7ÚcrrB   rD   Zhelp_meZinvalid_cmdZis_python_fileZ	code_langÚcommand_argsZfile_to_printÚoptionsÚoptionZall_codeÚfÚ
code_linesZconsole_widthZ
used_widthZmagic_syntaxr.   Zthe_coderC   ÚwZ	num_linesZnew_sb_linesr   Zline_length2r   Úline1Úline2Ú
whitespaceZnew_wsZfirst_parenZline2aZline2bZ	slash_oneZslash_one_p1Zline2b1Zline2b2ÚcommentsZline0Zextra_r_spacesZ	the_themeZdash_lengthÚdashesZprint_successr   r   r   Úmain?   sV   



ÿ(










ÿÿþ
ÿÿþ


ÿþ


ÿþÿ

ÿþÿ

ÿÿþÿ

ÿ
ÿÿÿ
þÿ
ÿýÿ

ÿÿþÿ

ÿ
ÿÿÿ
þÿ
ÿýÿ



ÿÿþÿ

ÿÿþÿ





ÿÿÿþÿ





ÿÿÿþÿ



 

ÿ


 

ÿ




ÿÿÿ

ÿ

ÿþýÿ
ÿÿ


ÿ

ÿÿÿ
ÿÿ


ÿþýÿ
ÿÿ




ú	



rp   Ú__main__)N)
Ú__doc__rM   rW   rO   r   r   r   r   rp   Ú__name__r   r   r   r   Ú<module>   s   

    @