El 31 de marzo de 2016, 22:19, Gerardo Diez <gerardo.diez.gar...@gmail.com>
escribió:

> Hola,
>
> estoy tratando de descargar una serie de correos filtrados por una
> serie de factores y me encuentro dificultades a la hora de pasarle una
> cadena que debe pasarse entre comillas simples a la función de
> filtrado.
>
> Muestro un poco de código de ejemplo:
>
> import email, imaplib, datetime
>
> #me conecto al servidor y elijo un buzón Todo OK
>
> user = "user"
> pwd = "pwd"
>
> m = imaplib.IMAP4_SSL("imap.gmail.com")
> m.login(user,pwd)
>
>
> m.select("INBOX")
>
> #creo la cadena de filtrado
> import locale
> loc= locale.setlocale(locale.LC_TIME,"C")
> date = datetime.date.today().strftime("%d-%b-%Y")
>
> #el meollo está aquí
> consulta_string = """'"""+'(FROM "user@host" SUBJECT "Notas" SINCE
> '+date+ ')'+"""'"""
>

Creo que dejando esta línea así:

consulta_string = '(FROM "user@host" SUBJECT "Notas" SINCE '+date+ ')'



>
> # si compruebo la cadena con un print "%s" % (consulta_string,) sale
> la cadena que quiero
> #filtro los correos con los criterios anteriores. Y me indica que no
> puede parsear el comando
> resp, items = m.search(None, "%s" % (consulta_string,))
>

Y esta así:
resp, items = m.search(None, consulta_string)

te debería funcionar.


>
>
> Si en vez de la sustitución esa introduzco la cadena tal que así:
>
> resp, items = m.search(None, '(FROM "user@host" SUBJECT "Notas" SINCE
> 31-Mar-2016)')
>
>
> Sé que tiene que ser algo sencillo lo que se me escapa, pero no lo
> veo. ¿Alguien me puede dar alguna orientación?
>
>
> Muchas gracias.
>
> PS: No me tiréis piedras por no emplear {} esta versión no me lo permite.
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a