
    j              
           d dl Z d dlmc mZ dZdez   dz   ez   dz   ZdZdez   dz   ez   d	z   Z e j                  ee j                        Z
d
 Zd Zdddddddddd	ZdZd Zd Zy)    Nz#(?:\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])z(?:(?:z.){3})z(?:(?:[a-z\u00a1-\uffff0-9]-?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))z*(?:(?:https?|ftp)://)(?:\S+(?::\S*)?@)?(?:|z$)(?::\d{2,5})?(?:/\S*)?(?:\?\S*)?$\Zc                 >    t        t        j                  |             S N)boolregexsearchstrings    /usr/lib/sticky/util.pyends_with_urlr      s    V$%%    c                 ,    t         j                  |       S r   )r   r	   r
   s    r   get_url_startr      s    <<r   bolditalic	underlinestrikethrough	highlightlinksmalllargelarger)	r   r   r   r   r   urlr   r   hugez#{http://beatniksoftware.com/tomboy}c                 (  	 t        j                  |       }|j                         }i }|j                  t        dz         j
                  |d<   	fd	 	|j                  t        dz         j                  t        dz               |d<   d }d}	 |j                  t        dz         }|D ]?  }|j
                  dk(  rd}|j
                  j                  d	      s1|j
                  d
d  }A 	 |t        d      }|||fS # t        $ r
}Y d }~ d }~ww xY w)Ntitlec                 Z   d}| j                   j                  d      d   }|t        v rdt        |   z  }||z  }nd}| j                  r|| j                  j	                  dd      z  }| D ]  }| |      z  } ||z  }| j
                  r|| j
                  j	                  dd      z  }|S )N }   z#tag:%s:###)tagsplitGNOTE_TO_INTERNAL_MAPtextreplacetail)elementr'   tag_nameinternal_tagchildprocess_elements        r   r.   z1gnote_to_internal_format.<locals>.process_element)   s    ;;$$S)!,,,%(=h(GGLL DL<<GLL((d33D 	+EOE**D	+ 	<<GLL((d33Dr   r'   znote-contentFtagszsystem:templateTzsystem:notebook:   Unfiled)	etreeparsegetrootfindGNOTE_NS_PREFIXr'   
startswith	Exception_)
	file_pathtreerootinfocategoryis_templater/   r$   er.   s
            @r   gnote_to_internal_formatrA   "   s
   ;;y!D<<>DDIIo78==DM. #499_v-E#F#K#KO^lLl#mnDLHKyy612 	)Cxx,,"$$%7888BC=		) Y<T;&&  s   A
C> C> >	DDc                 .   d}d}	 | j                  d|      }|| || z  }|dk(  r|j                         S | ||dz    dk(  r|dz  }|dz   }nK| ||dz    dk(  r|d	z   }n:| ||d
z    dk(  r|d	z   }n)| ||dz    dk(  r| j                  d|dz         dz   }n|dz  })Nr   r   r"      r#      z#check      z#bullet   z#tag:r!   )r5   lower)r'   current_indexnew_text
next_indexs       r   
clean_textrN   S   s    MH
YYsM2
Dz22>>##
:a<(D0OH&NM*Z\*h6&NM*Z\*i7&NM*Z\*f4 IIc:a<81<MQM# r   )rexml.etree.ElementTreer2   ElementTree	ip_number
ip_addressdomainregex_stringcompile
IGNORECASEr   r   r   r&   r6   rA   rN    r   r   <module>rY      s    
 % %2	"W,y83>
 
\<zIDPSYY  ]D  D

</& 
 $
  8/'br   