³ò
°fIc        
   @   s  d  d k  Z  d  d k Z d  d k Z d  d k Z d d3 d „  ƒ  YZ d d4 d „  ƒ  YZ d e f d „  ƒ  YZ d e f d	 „  ƒ  YZ h  d5 d <d6 d <d7 d <d8 d <d9 d <d: d <d; d <d< d <d= d <d> d <d? d <d@ d <dA d <dB d  <dC d# <dD d$ <dE d% <Z e i	 d& ƒ Z
 d' „  Z d( „  Z d) e f d* „  ƒ  YZ d+ e f d, „  ƒ  YZ e d- j o™ e d. d/ ƒ Z e d0 d1 ƒ Z xJ e oB e i d2 ƒ Z e p Pn e i e ƒ e  i i e i ƒ  ƒ qœWe i ƒ  e  i i e i ƒ  ƒ e i ƒ  n d S(F   iÿÿÿÿNt
   NullParserc           B   s2   e  Z d  Z d „  Z d „  Z d „  Z d „  Z RS(   s   just copies datac         C   s   d |  _  d  S(   Nt    (   t   output_buffer(   t   self(    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyt   __init__   s    c         C   s   |  i  | 7_  d  S(   N(   R   (   R   t   data(    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyt   feed   s    c         C   s   d  S(   N(    (   R   (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyt   close   s    c         C   s   |  i  } d |  _  | S(   NR   (   R   (   R   t   r(    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyt   pull   s    		(   t   __name__t
   __module__t   __doc__R   R   R   R	   (    (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR       s
   			t   BasicParserc           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   t  |  _ d |  _ d |  _ d  S(   NR   (   t   Falset   in_tagt   current_tagt   current_data(   R   (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR      s    		c         C   s   |  i  | ƒ d  S(   N(   t   process(   R   R   (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR      s    c         C   sÂ   x» | D]³ } |  i  oF |  i | 7_ | d j o& |  i |  i ƒ t |  _  d |  _ qº q |  i p t ‚ | d j o |  i | 7_ q |  i |  i ƒ t |  _  d |  _ | |  _ q Wd  S(   Nt   >R   t   <(   R   R   t   process_tagR   t   AssertionErrorR   t   process_datat   True(   R   t   txtt   c(    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR   !   s     
			c         C   sC   |  i  o% |  i p t ‚ |  i |  i ƒ n |  i |  i ƒ d  S(   N(   R   R   R   R   R   R   (   R   (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR   3   s    
c         C   s   | S(   s   to be subclassed(    (   R   t   tagstr(    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR   :   s    c         C   s   | S(   s   to be subclassed(    (   R   t   datastr(    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR   >   s    (   R
   R   R   R   R   R   R   R   (    (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR      s   					t
   CopyParserc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s   d |  _  t i |  ƒ d  S(   NR   (   R   R   R   (   R   (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR   E   s    	c         C   s   |  i  | 7_  d S(   s   to be subclassedN(   R   (   R   R   (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR   I   s    c         C   s   |  i  | 7_  d S(   s   to be subclassedN(   R   (   R   R   (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR   M   s    c         C   s   |  i  } d |  _  | S(   NR   (   R   (   R   R   (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR	   Q   s    		(   R
   R   R   R   R   R	   (    (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR   C   s   			t   CopyAndModifyParserc           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s#   t  |  _ t  |  _ t i |  ƒ d  S(   N(   R   t	   in_scriptt   in_styleR   R   (   R   (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR   W   s    		c         C   s¢   |  i  | ƒ } |  i | 7_ t i d | ƒ o t |  _ n! t i d | ƒ o t |  _ n t i d | ƒ o t |  _ n! t i d | ƒ o t |  _ n d  S(   Ns   (?is)<script\b(?!.*?/\s*>)s   (?is)</script\bs   (?is)<style\b(?!.*?/\s*>)s   (?is)</style\b(   t
   modify_tagR   t   ret   matchR   R   R   R    (   R   R   t   newtag(    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR   \   s    c         C   s@   |  i  p
 |  i o
 | } n |  i | ƒ } |  i | 7_ d  S(   N(   R   R    t   modify_dataR   (   R   R   t   newdata(    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR   h   s    
c         C   s   | S(   s   to be subclassed(    (   R   R   (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR!   o   s    c         C   s   | S(   s   to be subclassed(    (   R   R   (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR%   s   s    (   R
   R   R   R   R   R!   R%   (    (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR   V   s
   				t   hreft   at   codebaset   applett   areat   citet
   blockquotet
   backgroundt   bodyt   delt   actiont   formt   longdesct   srct   framet   iframet   profilet   headt   usemapt   imgt   inputt   inst   linkt   classidR   t   objectt   qt   scripts&   ^([A-Za-z][A-Za-z0-9+-.]*://)(/*)(.*?)c         C   s"   t  i d | ƒ } t i |  | ƒ S(   Ns   \1\3(   t	   _urifixert   subt   urlparset   urljoin(   t   baset   uri(    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyt   _urljoin   s    c         C   s‚   t  i d | |  t  i t  i ƒ } | p' t  i d | |  t  i t  i ƒ } n | p d Sn | i ƒ  | i ƒ  | i d ƒ f S(   s7   try to get value of 'k' attribute from a given html tags   \b%s\=['"](.*?)['"]s   \b%s\=(.*?)\s(?=\>)i   N(   R"   t   searcht   It   St   Nonet   startt   endt   group(   R   t   kt   m(    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyt   get_uri_tag_value‘   s    #'t   ModifyHrefParserc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s#   | |  _  | |  _ t i |  ƒ d  S(   N(   t   cgi_urlt   base_urlR   R   (   R   RT   RU   (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR      s    		c   
      C   sä   |  i  p | Sn t i d | t i ƒ } | o¯ | i d ƒ } | i ƒ  d j o‰ t | d ƒ } | oo | \ } } } t |  i | ƒ } |  i  d d t	 i
 | d d ƒ}	 | |  d d d	 |	 d
 | | } qÜ qà n | S(   s   NOT to be subclasseds   <([A-Za-z]+?)\bi   R(   R'   t   ?s   url=t   safeR   s   ="t   "(   RT   R"   RI   RK   RO   t   lowerRR   RH   RU   t   urllibt
   quote_plus(
   R   R   RQ   t   tagt   spanvalRM   RN   t   valt   urlt   newval(    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR!   ¢   s    
$2(   R
   R   R   R!   (    (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyRS   ›   s   	t   MyParserc           B   s   e  Z d  „  Z RS(   c         C   s   t  i d d | ƒ S(   Ns   [a-z]R(   (   R"   RC   (   R   R   (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyR%   ¶   s    (   R
   R   R%   (    (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pyRa   ´   s   t   __main__s   a.htmlR   RU   s   http://www.sme.skiè  (    (    (   s   href(   R)   (   s   href(   R,   (   R.   (   R,   (   s   action(   R3   R4   (   R3   R4   (   R7   (   R3   R4   R9   (   R4   R9   (   R,   (   s   href(   R>   R)   s   dataR9   (   R,   (   R4   (   t   sysR"   RD   RZ   R    R   R   R   t   relative_urist   compileRB   RH   RR   RS   Ra   R
   t   opent
   filehandlet   parserR   t   readR   R   t   stdoutt   writeR	   R   (    (    (    s9   /home/garabik/devel/ludevit-6/examples/www/converthtml.pys   <module>   sP   0,"																		
  
