0 
(Vc               @   s  d  d l  m Z m Z d  d l m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z e j j Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z e e j d  Z e j  i  d d 6d d 6 Z e g Z e  d  Z y e  d	  Wn e k
 r%Yn Xd
 e j k rTe re d  d  d l  Z  d  d l! Z! d  d l" Z" Gd   d  Z# Gd   d e j  Z$ e   e# d   e! j%  n	 e j Z$ d  d l& Z& d  d l' Z d   Z( e j) * d	 d  Z+ yC e, e+ d   Z- e . e-  Z/ Wd QXe r,e! %   e/ _0 n  Wn' e1 e2 f k
 rVe j3 4   Z/ Yn Xx0 e  e j) 5 d   D] Z6 e( e/ e6  qsWd   Z7 e7 e/ d  e	 8 d e j) * d	   x Z9 e$ e9  Z: e: ; e/  e j) < e+  re = e+  n  e > e9 j? e+  y e9 @   Wn e k
 r1Yn XWd QXe A e j B e/   n  Gd   d e j jC  ZD e A eD    e j jE e   ZF d d g eF _G e j H eF  Gd   d eI  ZJ e d    ZK d   ZL d S(    i    (   u   closingu   contextmanager(   u   StringIONu   dispatchu   http://127.0.0.1:4444u   httpu   httpsu   [ 	]+u   tempu   skipcookiesu   ispypyc                s   |  Ee  Z d  S(   N(   s   __name__s
   __module__(   s
   __locals__(    (    s*   /home/creation/stories/code/setupurllib.pys   DerpLock#   s   
 u   DerpLockc                s6   |  Ee  Z d  e j   f d  Z e e j j e <  S(   Nc                sP   t  | t j  r t   } n  | t j k r6 t } n  t    | | |  d  S(   N(   s
   isinstances   _threads   RLocks   DerpLocks   supers   save_global(   s   selfs   objs   names   pack(   s
   @__class__(    s*   /home/creation/stories/code/setupurllib.pys   save_global%   s
    	(	   s   __name__s
   __module__s   structs   packs   save_globals   pickles   Picklers   dispatchs   type(   s
   __locals__(    (   s
   @__class__s*   /home/creation/stories/code/setupurllib.pys	   MyPickler$   s   
u	   MyPicklerc             C   s   d S(   Nu    (    (   s   lock(    (    s*   /home/creation/stories/code/setupurllib.pys   <lambda>,   s    c             C   s   t  t  |    } |    } |  d  x |    D] } t j  d | d | d d  d | d | d 	 d  | d 	 d  | d d | d | d	 | d	 d
 k d  d  i   } |  
 |  q> WWd  QXd  S(   NuA   SELECT host, path, isSecure, expiry, name, value FROM moz_cookiesi    i   i   Fu   .i   i   i   u    (   s   closings   sqlite3s   connects   cursors   executes   fetchalls   https	   cookiejars   Cookies
   startswiths
   set_cookie(   s   cjs
   ff_cookiess   cons   curs   items   c(    (    s*   /home/creation/stories/code/setupurllib.pys   get_cookies3   s     '
u   cookies.pickleu   rbu#   ~/.mozilla/firefox/*/cookies.sqlitec             C   s   t  j  |  s d  St |   } x | D] } t  | d  \ } } } } } }	 }
 t j  d |	 |
 d  d | | 	 d  | 	 d  | d | d k t
 |  | d k d  d  i   } |   |  q, WWd  QXd  S(   Ni   i    Fu   .u   TRUEu    (   s   oss   paths   existss   opens   spaces   splits   https	   cookiejars   Cookies
   startswiths   ints
   set_cookie(   s   cjs   texts   inps   lines   hosts	   isSessions   paths   isSecures   expirys   names   values   c(    (    s*   /home/creation/stories/code/setupurllib.pys   get_text_cookiesO   s      '	u   /extra/user/tmp/cookies.txtu   dirc                s0   |  Ee  Z Gd    d e j j  Z d   Z d S(   c                s   |  Ee  Z   f d    Z   S(   c                s   t     | | | |  d  S(   N(   s   supers   request(   s   selfs   methods   selectors   datas   headers(   s
   @__class__(    s*   /home/creation/stories/code/setupurllib.pys   requestl   s    (   s   __name__s
   __module__s   request(   s
   __locals__(    (   s
   @__class__s*   /home/creation/stories/code/setupurllib.pys   Clientk   s   
u   Clientc             C   s   |    |  j |  S(   N(   s   do_opens   Client(   s   selfs   req(    (    s*   /home/creation/stories/code/setupurllib.pys	   http_openn   s    N(   s   __name__s
   __module__s   https   clients   HTTPConnections   Clients	   http_open(   s
   __locals__(    (    s*   /home/creation/stories/code/setupurllib.pys   HeaderWatcherj   s   
u   HeaderWatcher(   u
   User-agentu'   Mozilla/5.0 Gecko/20100101 Firefox/19.0(   u   Accept-Encodingu   gzip,deflatec                s   |  Ee  Z d    Z d S(   c             C   s"   t  |  j  d t  |  j d  S(   Nu   : i    (   s   strs	   __cause__s   args(   s   self(    (    s*   /home/creation/stories/code/setupurllib.pys   __str__z   s    N(   s   __name__s
   __module__s   __str__(   s
   __locals__(    (    s*   /home/creation/stories/code/setupurllib.pys   URLErrory   s   
u   URLErrorc             c   sB  t  |  t  s t |   }  n  y |  j  d  Wn t k
 r } zu t t j  |  j   } x= t	 d t
 |   D]& } t j  | | d d | | <qx Wt j  |  |  _ WYd  d  } ~ Xn Xy t t  |     } | j } | d } | d k rt  d | d d	  } nk | d
 k r|  d  } y t  |  } Wn+ t j k
 rzt  | t j  } Yn Xt |  } n  | | _ | VWd  QXWn t j j k
 r} z: | j d k rt d | j  t |     n    WYd  d  } ~ Xn= t j j k
 r=} z t |  j  |  WYd  d  } ~ Xn Xd  S(   Nu   asciii   u   safeu   /&=?+u   Content-Encodingu   gzipu   fileobju   modeu   rbu   deflatei   i  u   head(   s
   isinstances   Requests   full_urls   encodes   UnicodeEncodeErrors   lists   urllibs   parses   urlparses   ranges   lens   quotes
   urlunparses   closings   openers   opens   headerss   gzips   GzipFiles   reads   zlibs
   decompresss   errors	   MAX_WBITSs   StringIOs	   HTTPErrors   codes   prints   URLError(   s   requests   es   urls   is   inps   headerss   encodings   data(    (    s*   /home/creation/stories/code/setupurllib.pys   myopen}   s@     $(	
 	c             C   s,   t  |    } t  | |  | j SQXd  S(   N(   s   myopens   shutils   copyfileobjs   headers(   s   requests   dests   inp(    (    s*   /home/creation/stories/code/setupurllib.pys
   myretrieve   s    (M   s
   contextlibs   closings   contextmanagers   ios   StringIOs   gzips   zlibs   syss   oss   tempfiles   urllib.requests   urllibs   requests   Requests   pickles   shutils   globs   res   http.clients   https   hasattrs   Picklers   isPypys   ProxyHandlers   proxys   handlerss   compiles   spaces   mkdirs   OSErrors   environs   prints   copyregs   _threads   structs   DerpLocks	   MyPicklers   RLocks   sqlite3s   http.cookiejars   get_cookiess   paths   joins
   cookiefiles   opens   inps   loads   jars   _cookies_locks   IOErrors   AttributeErrors	   cookiejars	   CookieJars
   expandusers
   ff_cookiess   get_text_cookiess   NamedTemporaryFiles   outs   picklers   dumps   existss   unlinks   renames   names   closes   appends   HTTPCookieProcessors   HTTPHandlers   HeaderWatchers   build_openers   openers
   addheaderss   install_openers	   Exceptions   URLErrors   myopens
   myretrieve(    (    (    s*   /home/creation/stories/code/setupurllib.pys   <module>   s   	  
		 	!  )