mň
˝~Ac           @   s7   d  Z  d Z d Z d   Z f  f  d  Z d   Z d S(   i   i   i   c         C   s8   x1 |  D]) } | d i   | d j o d Sq q W| S(   Ni    (   t   kt   it   upper(   R    R   (    (    t   capitalization.pyt   upperCaseWord   s
      c   	      C   sŁ  |  i d  o1 |  i d  d j o |  |  i d  d }  n |  i   i d  } t |  d j  p t | d  d j  o t Sn | d d i   | d d j } d } d } xŔ | d D]´ } | i d  i d  } t |  d j  o qÁ n | d i   | d j } | o- t |  o | | j o | d } quqÁ t |  d	 j p | | j o | d } qÁ qÁ W| d j o | | j o t Sn t Sd  S(
   Ns   _: s   \ni    i   t    i   s   _(&s   ):.i   (   t   st
   startswitht   findt   stript   splitt   xt   lent   CAP_UNKNOWNR   t   ft	   uppercaset	   lowercaseR   t   lstript   rstript   uR   t   ignoreUppert   ignoreLowert   CAP_SENTENCEt	   CAP_TITLE(	   R   R   R   R   R   R   R   R   R   (    (    R   t   capitalization   s,    & * "   c         C   sH   |  i   } t |  i    } | d j o | d d j o t Sn t S(   Ni    i˙˙˙˙t   :(   R   (   R   R	   R   R   t   lR   R   (   R   R   R   (    (    R   t   requiredCapitalization+   s
    N(   R   R   R   R   R   R   (   R   R   R   R   R   R   (    (    R   t   ?
   s
   	