Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #75787

Re: How to delete letters automatically with imaplib?

From Ben Finney <ben+python@benfinney.id.au>
Subject Re: How to delete letters automatically with imaplib?
Date 2014-08-06 19:14 +1000
References <53E1EF26.4020508@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.12694.1407316492.18130.python-list@python.org> (permalink)

Show all headers | View raw


elearn <elearn2014@gmail.com> writes:

> status,  data=  con.search(None,  "ALL")
> print(len(data[0].split()))
> 48
> typ,  data=  con.search(None,  'Body',  '"xxx@gmail.com"')
> >>>  data
> [b'1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
>  32 33 34 35 36 37 44']
>
> len(data[0].split())
> 36
>
> How can i delete 48-36=12 letters?

Set operations are designed for this::

    # Construct a set of all message numbers.
    status, data = con.search(None, "ALL")
    ids_of_all_messages = set(data[0].split())

    # Construct a set of messages mentioning the address.
    status, data = con.search(None, 'Body', '"xxx@gmail.com"')
    ids_of_messages_containing_address = set(data[0].split())

    # Get the messages to delete.
    ids_of_messages_to_delete = (
            ids_of_all_messages - ids_of_messages_containing_address)

-- 
 \     “Too many pieces of music finish too long after the end.” —Igor |
  `\                                                       Stravinskey |
_o__)                                                                  |
Ben Finney

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: How to delete letters automatically with imaplib? Ben Finney <ben+python@benfinney.id.au> - 2014-08-06 19:14 +1000

csiph-web