
    eu                       d dl mZ d dlZd dlZd dlZd dlZ ej                         Zej                  d       ej                  dd       ej                  dd       ej                  dd       ej                  d	d       ej                  d
d       ej                  dd       ej                  dd       ej                  dd       ej                  dd       ej                  dd       ddZ
ddZddZddZy)    )annotationsNcommandz	--pkgname )defaultz
--datadirsz--langsz--localedirz--source-rootz--subdirz
--xgettextxgettextz
--msgmergemsgmergez	--msginitmsginitz--extra-argsc                \   t         j                  j                  | d      }	 g }t        |d      5 }|D ]:  }|j	                         }|s|j                  d      r(||j                         z  }< 	 d d d        |S # 1 sw Y   |S xY w# t        t        f$ r t        d|         g cY S w xY w)NLINGUASzutf-8)encoding#zCould not find file LINGUAS in )
ospathjoinopenstrip
startswithsplitFileNotFoundErrorPermissionErrorprint)src_sublinguaslangsflines        </usr/lib/python3/dist-packages/mesonbuild/scripts/gettext.pyread_linguasr   "   s     ggll7I.G
'G, 	* *zz| 4TZZ\)E*	*
 	*
 / /y9:	s:   B	 A<
A<A<2	B	 <BB	 B	 	B+*B+c                   t         j                  j                  | d      }t         j                  j                  |      sNt         j                  j                  | d      }t         j                  j                  |      st	        d| z         yt         j
                  j                         }|r||d<   t         j                  j                  | |dz         }t        j                  |d|z   d| d	|d
|dd|g|z   |      S )NzPOTFILES.inPOTFILESz"Could not find file POTFILES in %s   GETTEXTDATADIRS.potz--package-name=z-pz-fz-Dz-k_-o)env)	r   r   r   existsr   environcopy
subprocesscall)	r   r   pkgnamedatadirsargssource_rootlistfile	child_envofiles	            r   
run_potgenr2   2   s    ww||G]3H77>>(#77<<4ww~~h'6@A

!I'/	#$GGLL'F"23E??H&7'&A4RVX` +udECEIJ(* *    c                N   t         j                  j                  | |dz         }|D ]}  }t         j                  j                  | |dz         }t         j                  j                  |      rt	        j
                  |dd|||g       at	        j
                  |d|d|d|dg        y	)
Nr#   z.poz-qr$   z--inputz--output-filez--localez--no-translatorr   )r   r   r   r&   r)   
check_call)r   r   r	   r+   r   potfilelpofiles           r   	update_por9   C   s    ggll7Gf$45G |gq5y177>>&!!!8T4"QR!!7IwQWYcefhy"z{| r3   c                   t         j                  |       }|j                  }|j                  r|j                  j	                  d      nd }|j
                  r|j
                  j	                  d      ng }|j                  }t        j                  j                  |j                  |      }|st        |      }|dk(  r8t        ||j                  |j                  |j                  ||j                        S |dk(  rit        ||j                  |j                  |j                  ||j                        dk7  ryt!        ||j"                  |j$                  |j                  |      S t'        d       y)Nz@@potr9   r   r!   zUnknown subcommand.)parser
parse_argsr   r   r   
extra_argssubdirr   r   r   r.   r   r2   r   r+   r,   r9   r   r	   r   )r-   optionssubcmdr   r>   r?   r   s          r   runrB   M   s$   %G__F)0GMM%DE3:3E3E##))$/2J^^Fggll7..7GW%'7#3#3W__gFVFVXbdkdwdwxx	;	gw//'BRBRT^`g`s`stxyy'"2"2GOOW__V[\\#$r3   )r   strreturnT.List[str])r   rC   r   rC   r+   rC   r,   rC   r-   rE   r.   rC   rD   int)r   rC   r   rC   r	   rC   r+   rC   r   rE   rD   rF   )r-   rE   rD   rF   )
__future__r   r   argparser)   typingTArgumentParserr<   add_argumentr   r2   r9   rB    r3   r   <module>rN      s   # 	   	 	 	 	"   I    K  ,   L"  -   Ir  *   M2  .   OR  0   J  +   L*  5   L*  5   K  3   NB  / *"r3   