a
    ¬¹DfÍ  ã                   @   sj   d dl Z d dlZd dlmZmZmZmZmZmZ ddl	T dd„ Z
dd„ Zd	d
„ Zdd„ Zedkrfeƒ  dS )é    N)ÚPYQT_VERSION_STRÚQDirÚQFileÚ	QFileInfoÚ	QIODeviceÚQTextStreamé   )Ú*c                   C   s   t j d¡ d S )NaØ  Usage:
    pylupdate5 [options] project-file
    pylupdate5 [options] source-files -ts ts-files

Options:
    -help  Display this information and exit
    -version
           Display the version of pylupdate5 and exit
    -verbose
           Explain what is being done
    -noobsolete
           Drop all obsolete strings
    -tr-function name
           name() may be used instead of tr()
    -translate-function name
           name() may be used instead of translate()
)ÚsysÚstderrÚwrite© r   r   úa/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/PyQt5/pylupdate_main.pyÚ
printUsage   s    ÿr   c           
      C   s‚   t ƒ }|D ]r}| |¡}tƒ }tƒ }	| |¡ |r<| |¡ t|| |	|||ƒ |rZ|	 ¡  |	 ¡  |	 |¡s
t	j
 d| ¡ q
d S )Nz#pylupdate5 error: Cannot save '%s'
)r   ZrelativeFilePathÚMetaTranslatorÚloadÚsetCodecÚmergeZstripObsoleteMessagesZstripEmptyContextsÚsaver
   r   r   )
Ú
fetchedTorÚtsFileNamesÚ
codecForTrÚ
noObsoleteÚverboseÚdirÚtÚfnZtorÚoutr   r   r   ÚupdateTsFiles0   s    



r   c                 C   s   |   t ¡ d ¡S )Nr   )ÚencodeÚlocaleÚgetdefaultlocale)Úpathr   r   r   Ú_encoded_pathH   s    r#   c               
   C   sô  d} t ƒ }d}d}g }g }d}d}d}d}	d}
d}d }d }tjdd … D ]}|dkrHd}
qHttjƒ}d}||k rÀtj| }|d7 }|dkrœtƒ  t d¡ |d	kr¾tj d
t ¡ t d¡ |dkrÌd}qh|dkrÚd}qh|dkrèd}qh|dkr&||krtj d¡ t d¡ tj| }|d7 }qh|dkrd||krPtj d¡ t d¡ tj| }|d7 }qh|	d7 }	d}|s¾t	|ƒ}| 
tj¡s¦tj d| ¡ t d¡ t|ƒ}| ¡ }| ¡  |
rt ¡ }t t|ƒ ¡ ¡ t ƒ }d}d}g }g }t|ƒ ¡ D ]Â\}}| d¡D ]¬}|dkrHttt ¡  |¡ƒ|| d|||ƒ d}nt|dkrl| t ¡  |¡¡ d}nP|dv r†|}| |¡ n6|dkr–|}n&|dkrttt ¡  |¡ƒ|| dƒ qq t|||||ƒ |sìtj d| ¡ nt|ƒdkr
tj d| ¡ t |¡ qh|rx|  ¡  !d¡rft|ƒ}| "¡ rH| #¡ rT| |¡ ntj d| ¡ ntj d| ¡ qht|ƒ}t| ¡ ƒ}| $¡ dv r°t||| d|||ƒ qht||| dƒ qh|
sÖt|||||ƒ |	dkrðtƒ  t d¡ d S )Nz@defaultÚ Fr   Tr   z-tsz-helpz-versionzpylupdate5 v%s
z-noobsoletez-verbosez-tr-functionz,pylupdate5 error: missing -tr-function name
é   z-translate-functionz3pylupdate5 error: missing -translate-function name
z(pylupdate5 error: Cannot open file '%s'
ú ZSOURCESZTRANSLATIONS)ZCODECZDEFAULTCODECZ
CODECFORTRZCODECFORSRCZFORMSz@pylupdate5 warning: File '%s' does not look like a project file
zEpylupdate5 warning: Met no 'TRANSLATIONS' entry in project file '%s'
z.tsz8pylupdate5 warning: For some reason, I cannot save '%s'
z0pylupdate5 error: File '%s' lacks .ts extension
)ÚpyÚpyw)%r   r
   ÚargvÚlenr   Úexitr   r   r   r   Úopenr   ZReadOnlyr   ZreadAllÚcloser   ZcurrentPathZ
setCurrentr   r"   ZproFileTagMapÚitemsÚsplitZ
fetchtr_pyr#   ÚcurrentZabsoluteFilePathÚappendr   Z
fetchtr_uir   ÚlowerÚendswithÚexistsZ
isWritableÚsuffix)ZdefaultContextr   r   ZcodecForSourcer   ZuiFileNamesr   r   ZmetSomethingZnumFilesZstandardSyntaxZ	metTsFlagZtr_funcZtranslate_funcÚargZargcÚiZfullTextÚfr   ZoldDirÚkeyÚvalueÚfir"   r   r   r   ÚmainL   s   






ÿ



ÿ

ÿ

ÿü



ÿý
ÿÿÿÿÿÿÿÿ
ÿ
r<   Ú__main__)r    r
   ZPyQt5.QtCorer   r   r   r   r   r   Z	pylupdater   r   r#   r<   Ú__name__r   r   r   r   Ú<module>   s     +