*
";c       s    d  Z   ' 0 1 d Z 3 d k Z 4 d k Z d k Z d k Z d k Z d k Z d k Z d k	 Z	 d k
 Z
 5 e i d j o 6 d k Z n : e d d  Z U d f  d     YZ t d f  d	     YZ  d
 f  d     YZ  d f  d     YZ e   Z e i   d S(   sg   
Agenda: Archivo .esmsalias en el directorio de usuario (si, se cambiar 
ms adelante para hacerlo portable con el formato:

nombre     numero
otronombre otronumero

En sistemas no Unix (s, se escribe as) la agenda es el archivo "AgendaSMS" 
en el mismo directorio que el script, sin embargo esto an no lo he probado 
en ningn sistema que no sea Linux.
i   Ns   posixs    c    s  : ; |  i d |  < |  i d |  = |  i d |  > |  i d d t |   ? |  i d d  @ |  i d d	  A |  i d
 d  B |  i d d  C |  i d d  D |  i d d  E |  i d d  F | t	 j o G |  i d d |  n H |  i
   I |  i |  J |  i   \ } }	 }
 K |  i   i   } L | i |  d j o M d GHN d Sn  P d GHQ d GHR | GHS d Sd  S(   Ns   POSTs   Referers   Hosts   Content-lengths   %ds   Accepts8   image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*s   Accept-Languages   ess   Content-Types!   application/x-www-form-urlencodeds   Accept-Encodings   gzip, deflates
   User-Agents6   Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)s
   Connections
   Keep-Alives   Pragmas   no-caches   Cookies   %si   s!   El mensaje se envio correctamentes(   Se produjo un error al enviar el mensajes
   Respuesta:i    (   s   hs
   putrequests   posturls	   putheaders
   refererurls   hosts   lens   postdatas   cooks   Nones
   endheaderss   sends   getreplys   replys   msgs   headerss   getfiles   reads   datas   rfinds   success_str(   s   hs
   refererurls   posturls   hosts   postdatas   cooks   success_strs   datas   replys   msgs   headers(    (    s   supersms.pys   interact: s0   s	   navegaliac      s   U V d   Z  Y d   Z RS(   Nc    s   V W d |  _ d  S(   Ni}   (   s   selfs   tamanio(   s   self(    (    s   supersms.pys   __init__V s   c    s  Y Z t  i d  } [ | i d d  \ | i   ] | i   ^ | i   i   } ` t	 i
 | d  }
 a | |
 d |
 d !} c t	 i
 | d  }
 d | |
 d |
 d	 !} f t	 i
 | d
  }
 g | |
 d |
 d	 !} i t i h  | d <| d <| d <d d <d d <d d <| d < } k d GHl t i d  n | d d !d } o | d d	 !}	 p t  i |  } r t | d d | d |	 d d d | d t d  d! Sd  S("   Ns   212.73.32.207:80s   GETs#   http://212.73.32.207/html/texto.htms   <form name="envio_sms"i   iM   s   name="estado1"i$   i.   s   name="estado2"s   estado1s   estado2s   telefonoDestino1s   1s   codigoLookFeels    s   tNumbers   nAddresss   textos<   Esperando 4.5 segundos para que el servidor no se mosquee...f4.5i   i   s   :80s
   refererurls$   http://212.73.32.207/html/texto.htm?s   posturls   hosts   212.73.32.207s   postdatas   cooks   success_strs"   " se est procesando correctamente(   s   httplibs   HTTPs   gs
   putrequests
   endheaderss   getreplys   getfiles   reads   dats   strings   finds   poss   actions   estado1s   estado2s   urllibs	   urlencodes   telefonos   cadenas	   cadparamss   times   sleeps   ips   purls   hs   interacts   None(   s   selfs   cadenas   telefonos   longituds	   cadparamss   estado2s   estado1s   actions   dats   purls   poss   ips   gs   h(    (    s   supersms.pys   enviaY s$   Q(   s   __init__s   envia(    (    (    s   supersms.pys	   navegaliaU s   s   mensajedirectoc      s   t u d   Z  x d   Z RS(   Nc    s   u v d |  _ d  S(   Nix   (   s   selfs   tamanio(   s   self(    (    s   supersms.pys   __init__u s   c    s   x y t  i d  } z | i d d  { | i   | | i   } ~  t i h  d d <d d <| d <| d	 < }  t  i d
  }  t | d d d d d d d | d t d d Sd  S(   Ns   209.25.191.127:80s   GETs/   http://www.mensajedirecto.com/index.php?ver=smss   smss   vers   130s
   caracteress   nums   mens   213.96.106.133:80s
   refererurls   posturls	   /smse.phps   hosts   www2.mensajedirecto.coms   postdatas   cooks   success_strs   enviado correctamente(   s   httplibs   HTTPs   gs
   putrequests
   endheaderss   getreplys   urllibs	   urlencodes   telefonos   cadenas	   cadparamss   hs   interacts   None(   s   selfs   cadenas   telefonos   longituds	   cadparamss   hs   g(    (    s   supersms.pys   enviax s   6(   s   __init__s   envia(    (    (    s   supersms.pys   mensajedirectot s   s   movistarc      s     d   Z   d   Z RS(   Nc    s     d |  _ d  S(   Ni   (   s   selfs   tamanio(   s   self(    (    s   supersms.pys   __init__ s   c 
   s`    t  i d  }	  |	 i d d   |	 i    |	 i   d }  |	 i   i   }  y#  | i
 d  i d  d } Wn9  t j
 o*  d G| GH t i d   d Sn X d	 d
 t i h  d d <| d <d d <| d < }  t  i d  }  d GH t i d   t | d d d d d d d | d d | d d Sd  S(   Ns   194.224.100.123:80s   GETs1   http://www.activajoven.tsm.es/enviar_mensajes.aspi   s
   Set-Cookies   ;i    s   No se pudo envar mensaje:
s   nocache=s   12%2F31%2F25+11%3A59%3A59+PM&s   1s   confirmacions   telefonos    s   emails   mensaje_textos:   Esperando un poquito para que el servidor no se mosquee...f4.5s
   refererurls   posturls   /confirmacion_envio.asps   hosts   www.activajoven.tsm.ess   postdatas   cooks   %s;rs   success_strs	   con xito(   s   httplibs   HTTPs   gs
   putrequests
   endheaderss   getreplys   cabss   getfiles   reads   dats   getrawheaders   splits   cookies   AttributeErrors   times   sleeps   urllibs	   urlencodes   telefonos   cadenas	   cadparamss   hs   interact(
   s   selfs   cadenas   telefonos   longituds	   cadparamss   cabss   cookies   dats   hs   g(    (    s   supersms.pys   envia s    #>(   s   __init__s   envia(    (    (    s   supersms.pys   movistar s   s   Mainc      sJ     d Z   d   Z  d   Z  d   Z  d   Z  d   Z RS(   Ns   1.2c    s7     t  |  _  d |  _  d |  _  d |  _ d  S(   Ns    i   (   s   Nones   selfs   drivers   numero_nombres   repetirs   mensaje(   s   self(    (    s   supersms.pys   __init__ s   c 
   s    | d j o  t d  } n
  | }  y$  t |   | i   d f SWn3 t j
 o$ y  t i d j o  d } nL  t	 i
 t i    \ } } } } } }	 }  ~  t i i |	 d  }  t |  }  | i   } Wn  t j
 o  d GHn X xN | d  rA }  t i |  }  | d | j o  | d d f Sn q'W d	 GH t i d  n Xd  S(
   Ns    s   Nmero de telfono o nombre: i    s   posixs	   AgendaSMSs
   .esmsaliass   Error abriendo agendai   s   Error: Nombre no encontrado(   s   dados	   raw_inputs   numeros   ints   strips
   ValueErrors   oss   names	   aliaspaths   pwds   getpwuids   getuids   foos   homedirs   paths   joins   opens	   aliasfiles	   readliness   datoss   IOErrors   is   strings   splits   tokenss   syss   exit(
   s   selfs   dados   foos   tokenss   datoss   is	   aliaspaths   numeros	   aliasfiles   homedir(    (    s   supersms.pys
   pideNumero s0   	-  	c 	   s    g  g  f \ } }  d }  d d d d d g }  yY t i t i d | |  \ } }  x | d  r \ } }  | d	 d
 g j o  t
   |  _ n  | d d g j o  t   |  _ n}  | d d g j o  t   |  _ nT  | d d g j o  |  i   n-  | d d g j o  t |  |  _ n qp W y$  | d |  _  | d |  _ Wn  t j
 o
  n XWnJ  t i j
 o8 }  d t |  GH |  i    t i d  n X |  i t j o  t   |  _ n d  S(   Ns   njhrmds	   navegalias   movistars   mensajedirectos   helps   repetir=i   i    s   -ns   --navegalias   -ds   --mensajedirectos   -ms
   --movistars   -hs   --helps   -rs	   --repetirs   Error: (   s   optlists   argss
   short_optss	   long_optss   getopts   syss   argvs   optslists   cmdlines   values	   navegalias   selfs   drivers   mensajedirectos   movistars   usages   ints   repetirs   numero_nombres   mensajes
   IndexErrors   errors   xs   strs   exits   None(	   s   selfs   optlists
   short_optss   cmdlines   values   argss   xs   optslists	   long_opts(    (    s   supersms.pys   lineaComandos s8   	%  c    sN     d |  i GH d GH d GH d GH d GH d GH t i d  d  S(   Ns   SuperSMS.py Versin s   Uso:s@   -j o --jumpy: Enva el mensaje utilizando Jumpy.es (por defecto)sE   -m o --mensajedirecto: Enva el mensaje utilizando MensajeDirecto.coms2   -t o --terra: Enva el mensaje utilizando Terra.ess   -h o --help: Muestra esta ayudai    (   s   selfs   VERSIONs   syss   exit(   s   self(    (    s   supersms.pys   usage s   c    sK    |  i    |  i |  i  \ } }  d }  | o  d G| GHn  d G| GH |  i o  |  i } n^  d GH y6  x,  d o!  t   }  | | d 7} q WWn t
 j
 o
 n Xg  } t |  } | |  i i d } xH t |  d r5 }
 | i | |  i i |
 |  i i |
 d ! qW
| i   d } x | d r } | d 7} d t t |  | d  d	 t t |   d
 } | | } d G| Gd GHt |  } t }	 xF |  i i | | |  o |	 o! d G|	 Gd GH|	 d 8}	 qWqsWd  S(   Ns    s    Nmero encontrado en la agenda: s   Mensaje para el nmero: s-   Introduzca el mensaje, termine con Control+D:i   s    i    s   (s   /s   )s   
*****MENSAJE****: s   
s   Reintentando... (quedans	   intentos)(   s   selfs   lineaComandoss
   pideNumeros   numero_nombres   numeros   agendas   textos   mensajes	   raw_inputs	   texto_tmps   EOFErrors   list_msgs   lens   len_msgs   drivers   tamanios
   num_tokenss   ranges   is   appends   reverses   counts   js   strs
   cadena_nums	   fragmentos   longituds
   REINTENTOSs   insistirs   envia(   s   selfs   list_msgs
   cadena_nums   longituds   agendas   len_msgs	   texto_tmps   numeros   textos   insistirs   is	   fragmentos   js
   num_tokenss   count(    (    s   supersms.pys   main sH   	
  
 	 	3	 	9	 $(   s   VERSIONs   __init__s
   pideNumeros   lineaComandoss   usages   main(    (    (    s   supersms.pys   Main s   	'
(   s   __doc__s
   REINTENTOSs   oss   strings   times   syss   pwds   sockets   getopts   httplibs   urllibs   names   Nones   interacts	   navegalias   mensajedirectos   movistars   Mains   Ms   main(   s   movistars   Ms   oss   Mains   getopts   times   pwds
   REINTENTOSs   syss   urllibs   sockets   interacts   strings	   navegalias   httplibs   mensajedirecto(    (    s   supersms.pys   ? s   		K