
    Oj                          S SK r S SKJr   S SKJrJr  S rS r	 " S S\
5      r " S S	\
5      rg! \ a    S SKJrJr   N-f = f)
    N)urlparse)resolveResolver404c                 b     [        [        U 5      R                  5        g! [         a     gf = f)NFT)r   r   pathr   )urls    !/opt/fre/webmention/resolution.pyurl_resolvesr
      s2    ""#   s   ! 
..c                     [         R                  " U 5      nUR                  S:X  a&  XR                  ;   a  UR                  $ [	        S5      e[        S5      e)N   z%Source URL did not contain target URLzCould not fetch source URL)requestsgetstatus_codetextTargetNotFoundErrorSourceFetchError)sourcetargetresponses      r	   fetch_and_validate_sourcer      sJ    ||F#Hs"]]"== %&MNN;<<    c                       \ rS rSrSrg)r       N__name__
__module____qualname____firstlineno____static_attributes__r   r   r	   r   r          r   r   c                       \ rS rSrSrg)r   "   r   Nr   r   r   r	   r   r   "   r!   r   r   )r   urllib.parser   django.core.urlresolversr   r   ImportErrordjango.urlsr
   r   	Exceptionr   r   r   r   r	   <module>r)      sL     !1=
=	y 		) 	7  1001s   1 AA