;ς
)?Bc           @   s   d  Z  d k Z d k Z d k Z d k Z d k Z d Z h  a d d  Z d   Z	 d   Z
 d   Z d   Z e d	 j o e   n d S(
   s  Generate binary message catalog from textual translation description.

This program converts a textual Uniforum-style message catalog (.po file) into
a binary GNU catalog (.mo file).  This is essentially the same function as the
GNU msgfmt program, however, it is a simpler implementation.

Usage: msgfmt.py [OPTIONS] filename.po

Options:
    -o file
    --output-file=file
        Specify the output file to write to.  If omitted, output will go to a
        file named filename.mo (based off the input file name).

    -h
    --help
        Print this message and exit.

    -V
    --version
        Display version information and exit.
Ns   1.1s    c         C   s6   t  i t IJ| o t  i | IJn t  i |   d  S(   N(   s   syss   stderrs   __doc__s   msgs   exits   code(   s   codes   msg(    (    s   /var/mailman/bin/msgfmt.pys   usage(   s    c         C   s!   | o | o | t |  <n d S(   s.   Add a non-fuzzy translation to the dictionary.N(   s   fuzzys   strs   MESSAGESs   id(   s   ids   strs   fuzzy(    (    s   /var/mailman/bin/msgfmt.pys   add0   s      c       	   C   s  t  i   } | i   g  }  d } } xc | D][ } |  i t |  t |  t |  t t  |  f  | | d 7} | t  | d 7} q- Wd }
 d d d t |  } | t |  } g  } g  } xB |  D]: \ } }	 } } | |	 | | g 7} | | | | g 7} qΝ W| | }  t i d d d t |  d d d d t |  d	 d d  }
 |
 t i d
 |   i   7}
 |
 | 7}
 |
 | 7}
 |
 Sd S(   s   Return the generated output.s    s    i   i   i   s   Iiiiiiil   ή* i    i   s   iN(   s   MESSAGESs   keyss   sorts   offsetss   idss   strss   ids   appends   lens   outputs   keystarts
   valuestarts   koffsetss   voffsetss   o1s   l1s   o2s   l2s   structs   packs   arrays   tostring(   s   offsetss   keyss   voffsetss
   valuestarts   idss   o2s   strss   l2s   koffsetss   l1s   outputs   ids   o1s   keystart(    (    s   /var/mailman/bin/msgfmt.pys   generate8   s@      

 5 
		

c         C   sΕ  d } d } |  i d  o
 |  }	 n |  d }	 | t j o t i i	 |	  d d } n y t
 |	  i   } Wn/ t j
 o# } t i | IJt i d  n Xt } d }
 d } x | D]} | d 7} | d d j o
 | | j o  t | | |
  t } d }
 n | d  d j o | i d  o
 d }
 n | d d j o qΌ n | i d	  o? | | j o t | | |
  n | } | d
 } d } } n% | i d  o | } | d } n | i   } | o qΌ n t |  } | | j o | | 7} qΌ | | j o | | 7} qΌ t i d |	 | f Id IJt i | IJt i d  qΌ W| | j o t | | |
  n t   } y t
 | d  i |  Wn" t j
 o } t i | IJn Xd  S(   Ni   i   s   .poi    s   .mos   #s   #,s   fuzzys   msgidi   s    s   msgstri   s   Syntax error on %s:%ds   before:s   wb(    s   IDs   STRs   filenames   endswiths   infiles   outfiles   Nones   oss   paths   splitexts   opens	   readliness   liness   IOErrors   msgs   syss   stderrs   exits   sections   fuzzys   lnos   ls   adds   msgids   msgstrs   finds
   startswiths   strips   evals   generates   outputs   write(   s   filenames   outfiles   STRs   lnos   msgstrs   msgids   sections   IDs   msgs   infiles   fuzzys   liness   ls   output(    (    s   /var/mailman/bin/msgfmt.pys   makec   sj    

 

!

	c          C   s5  y/ t  i  t i d d d d d g  \ } } Wn% t  i j
 o } t d |  n Xt } x | D] \ }  } |  d d f j o t d  qd |  d	 d
 f j o$ t i d It IJt i d  qd |  d d f j o
 | } qd qd W| o" t i d IJt i d IJd  Sn x | D] } t | |  qWd  S(   Ni   s   hVo:s   helps   versions   output-file=s   -hs   --helpi    s   -Vs	   --versions	   msgfmt.pys   -os   --output-files   No input file givens)   Try `msgfmt --help' for more information.(   s   getopts   syss   argvs   optss   argss   errors   msgs   usages   Nones   outfiles   opts   args   stderrs   __version__s   exits   filenames   make(   s   opts   outfiles   argss   filenames   msgs   args   opts(    (    s   /var/mailman/bin/msgfmt.pys   main―   s,      s   __main__(   s   __doc__s   syss   oss   getopts   structs   arrays   __version__s   MESSAGESs   usages   adds   generates   makes   mains   __name__(   s   mains   structs   makes   syss   adds   usages   getopts   arrays   __version__s   oss   generate(    (    s   /var/mailman/bin/msgfmt.pys   ?   s   							+	L	