ó
ô™ÈUc           @   sŸ   d  d l  Z  d  d l Z d  d l m Z d Z d Z d j ƒ  Z e e Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿN(   t   cycleu   eyuioaÄ™Ã³Ä…u!   qwrtipsdfghjklzxcvbnmÅ›Å‚Å¼ÅºÄ‡Å„u5   w r t p s d f g h j k l z c b n m Å¼ Åº sz Å› dÅ¼ dÅºc         C   sæ  |  j  ƒ  }  t j d d |  ƒ }  t j d j t ƒ d |  ƒ }  t j d j t ƒ d |  ƒ }  t j d d |  ƒ }  t j d	 d
 |  ƒ }  t j d d
 |  ƒ }  t j d d |  ƒ }  t j d d |  ƒ }  t j d d |  ƒ }  t j d d |  ƒ }  t j d d |  ƒ }  t j d d |  ƒ }  t j d d |  ƒ }  t j d d |  ƒ }  t j d j t ƒ d |  ƒ }  t j d j t ƒ d |  ƒ }  t j d d  |  ƒ }  t j d! j t ƒ d" |  ƒ }  t j d! j t ƒ d# |  ƒ }  t j d$ d% |  ƒ }  t j d& j t ƒ d' |  ƒ }  t j d& j t ƒ d( |  ƒ }  t j d) d* |  ƒ }  t j d+ j t ƒ d, |  ƒ }  t j d+ j t ƒ d- |  ƒ }  t j d. d/ |  ƒ }  t j d0 j t ƒ d1 |  ƒ }  t j d0 j t ƒ d2 |  ƒ }  t j d3 d4 |  ƒ }  t j d5 j t t ƒ d6 |  ƒ }  t j d d7 |  ƒ }  t j d d8 |  ƒ }  t j d9 d: |  ƒ }  t j d; d< |  ƒ }  t j d= d< |  ƒ }  t j d> d |  ƒ }  t j d? d@ |  ƒ }  t j dA dB |  ƒ }  t j dC dD |  ƒ }  t j dE dF |  ƒ }  t j dG dH |  ƒ }  t j dI dJ |  ƒ }  t j dK dL |  ƒ }  t j dM dN |  ƒ }  t j dO dP |  ƒ }  t j dQ dR |  ƒ }  t j dS j t ƒ dT |  ƒ }  t t |  j	 ƒ  ƒ ƒ } xJ t
 t | ƒ ƒ D]6 } | | } | t k r³Pn  t | ƒ } | | | <q“WdU j t | ƒ ƒ }  |  S(V   Nu   Ã©u   eu   [^{0}]t    u   ([{0}])s    \1 u     u    u   ^ u    u    $u   d z iu   dziu   c hu   chu   c zu   czu   d zu   dzu   d Åºu   dÅºu   d Å¼u   dÅ¼u   r zu   rzu   s zu   szu
   dzi ([{}])u   dÅº \1u   dÅº i \1u   dzi$u   dÅº iu
   c i ([{}])u   Ä‡ \1u   Ä‡ i \1u   c i$u   Ä‡ iu
   s i ([{}])u   Å› \1u   Å› i \1u   s i$u   Å› iu
   z i ([{}])u   Åº \1u   Åº i \1u   z i$u   Åº iu
   n i ([{}])u   Å„ \1u   Å„ i \1u   n i$u   Å„ iu   ([{}]) i ([{}])u   \1 j \2u   Å¼u   hu   Ã³u   uu   Ä…$u   o Å‚u   Ä… Å‚$u   Ä™$u   Ä™ (w|f|s|z|sz|z|Å¼|h|Åº)u   e Å‚ \1u   Ä… (w|f|s|z|sz|z|Å¼|h|Åº)u   o Å‚ \1u
   Ä™ (p|b|m)u   e m \1u
   Ä… (p|b|m)u   o m \1u   Ä™ (t|d|c|cz|Å¼|Ä‡)u   e n \1u   Ä… (t|d|c|cz|Å¼|Ä‡)u   o n \1u
   Ä™ ([^kg])u   e \1u
   Ä… ([^kg])u   o \1u   ([tpsfhk]) Å¼u   \1 szu   ([tpsfhk]) wu   \1 fu
   ([{}]) Å‚$u   \1t    (   t   lowert   ret   subt   formatt   literyt
   samogloskit
   spolgloskit   listt   reversedt   splitt   xranget   lent   gloski_spolgloskit   zmien_spolgloske_w_bezdzwiecznat   join(   t   slowot   gloskit   it   gloska(    (    s/   /var/www/gotowe/piotr/nowe/slowo/rymy-3/rymy.pyt   gloskuj   sr    !
c         C   sp   g  |  j  d ƒ D] } | | j  ƒ  f ^ q } g  | D]7 \ } } | g  | D] } t | ƒ j  ƒ  ^ qK f ^ q5 S(   Nu   
(   R   R   (   t   tekstt   liniat   tekst_podzielonyt   slowaR   (    (    s/   /var/www/gotowe/piotr/nowe/slowo/rymy-3/rymy.pyt   gloskuj_tekst_wielolinijkowyX   s    .c         C   s‚   t  j d d |  d t  j ƒj ƒ  }  yE t  j d |  ƒ d } t  j d j t t j ƒ  ƒ d | ƒ } | SWn t k
 r} d SXd  S(   Ns   [^\w ]R   t   flagsu   \b(\S*)$i    u	   [^{0}{1}]u    (	   R   R   t   UNICODEt   rstript   findallR   R   t   uppert
   IndexError(   t   tresct   ostatnie_slowo(    (    s/   /var/www/gotowe/piotr/nowe/slowo/rymy-3/rymy.pyt   daj_ostatnie_slowo\   s    $'c         C   sÎ   t  |  ƒ j d ƒ } d  } d  } t | ƒ d } xO | d k r‚ | | } | t k ru | d  k rk | } qu | } Pn  | d 8} q4 W| d  k	 r• | n | d  k	 r§ | n d  } | d  k r½ d Sd j | | ƒ S(   Nu    i   i    u    (   R   R   t   NoneR   R   R   (   R   R   t   pozycja_ostatniej_samogloskit!   pozycja_przedostatniej_samogloskiR   R   t)   pozycja_ostatniej_akcentowanej_samogloski(    (    s/   /var/www/gotowe/piotr/nowe/slowo/rymy-3/rymy.pyt   daj_koncowkee   s     
	*c         C   so   g  } xb t  t |  ƒ d ƒ D]J } xA t  | d t | d t |  ƒ ƒ ƒ D] } | j | | f ƒ qJ Wq W| S(   Ni   i
   (   R   R   t   mint   append(   t   wierszet   paryt   at   b(    (    s/   /var/www/gotowe/piotr/nowe/slowo/rymy-3/rymy.pyt   zbierz_bliskie_wiersze_w_paryx   s
    -c         C   s‹   g  | D]g \ } } |  | d k r |  | d k r | | t  j t t |  | ƒ ƒ t t |  | ƒ ƒ ƒ f ^ q } | j d d „  ƒ | S(   NR   t   keyc         S   s	   |  d S(   Ni   (    (   R.   (    (    s/   /var/www/gotowe/piotr/nowe/slowo/rymy-3/rymy.pyt   <lambda>   s    (   t   Levenshteint   ratioR)   R$   t   sort(   R,   R-   R.   R/   t   pary_ze_zrymowaniem(    (    s/   /var/www/gotowe/piotr/nowe/slowo/rymy-3/rymy.pyt'   posortuj_pary_wierszy_wedlug_zrymowania   s    tc         C   s.   t  |  ƒ } t  | ƒ } t j | | ƒ | k S(   N(   R)   R3   R4   (   t   slowo1t   slowo2t   progt	   koncowka1t	   koncowka2(    (    s/   /var/www/gotowe/piotr/nowe/slowo/rymy-3/rymy.pyt   czy_sie_rymuja„   s    c         C   s  g  } i  } t  ƒ  } x t t |  ƒ ƒ D]‰ } x€ t | d t | d d t |  ƒ ƒ ƒ D]T } t t |  | ƒ t |  | ƒ | ƒ rY | | | <| j | ƒ | j | ƒ PqY qY Wq( Wt  ƒ  } x† t t |  ƒ ƒ D]r } | | k rÑ t  ƒ  } x> t r,| j | ƒ | | k r(| }	 | | } | |	 =qï Pqï W| j t | ƒ ƒ qÑ qÑ Wt	 d ƒ }
 i  } t
 | ƒ } | j d
 d „  ƒ x5 | D]- } |
 j ƒ  } x | D] } | | | <q˜WqWxa t t |  ƒ ƒ D]M } y | | } Wn t k
 rðd } n X| j i |  | d 6| d 6ƒ qÃW| S(   Ni   i   t   ffdefbt   deffe2t   deebfft   dee1fft   ffdef1t   fffcdet   deffecR1   c         S   s
   t  |  ƒ S(   N(   R*   (   t   grupa(    (    s/   /var/www/gotowe/piotr/nowe/slowo/rymy-3/rymy.pyR2   ¥   s    R   R   t   kolor(   R>   R?   R@   RA   RB   RC   RD   (   t   setR   R   R*   R=   R$   t   addt   Truet	   frozensetR    R
   R5   t   nextt   KeyErrorR+   (   R,   R:   t   wynikt   rymyt   wiersze_zrymowanet   numer_wierszat   numer_drugiego_wierszat   grupy_zrymowanet   grupa_zrymowanat   stary_numer_wierszat   koloryt   kolory_wierszyt   grupy_zrymowane_posortowaneRF   (    (    s/   /var/www/gotowe/piotr/nowe/slowo/rymy-3/rymy.pyt   oznacz_kolorami_grupy_zrymowane‰   sN    	1&
			


	c         C   sÁ   t  j d d |  ƒ }  t  j d d |  ƒ }  t  j d d |  ƒ }  t  j d d |  ƒ }  t  j d	 d
 |  ƒ }  t  j d d |  ƒ }  t  j d d |  ƒ }  t  j d d |  ƒ }  t  j d d |  ƒ }  |  S(   Nu   ^zu   su   ^dÅ¼u   czu   ^dÅºu   Ä‡u   ^wu   fu   ^du   tu   ^gu   ku   ^bu   pu   ^Å¼u   szu   ^Åºu   Å›(   R   R   (   R   (    (    s/   /var/www/gotowe/piotr/nowe/slowo/rymy-3/rymy.pyR   ¶   s    (   R   R3   t	   itertoolsR    R   R	   R   R   R   R   R   R$   R)   R0   R7   R=   RX   R   (    (    (    s/   /var/www/gotowe/piotr/nowe/slowo/rymy-3/rymy.pyt   <module>   s   
	L								-