Skip to content

Commit d9f5dea

Browse files
author
Colin Hogben
committed
imap-util2: Fix 'folders' and date handling
1 parent 36198fc commit d9f5dea

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

imap-util2

+10-15
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ except ImportError:
2121
import ConfigParser as configparser
2222
import os.path
2323
import re
24-
import time
24+
import datetime as dt
2525
import logging
2626

2727
From_RE = re.compile(b'^From ', flags=re.MULTILINE)
@@ -98,10 +98,12 @@ class ImapUtil(object):
9898

9999
def do_capabilities(self, args):
100100
for c in self.client.capabilities():
101-
print(c)
101+
print(str(c.decode('ascii')))
102102

103103
def do_namespace(self, args):
104104
ns = self.client.namespace()
105+
# E.g. ((('', '.'),), None, None)
106+
# personal, other, shared
105107
print(ns)
106108

107109
@arg('folder', nargs='?')
@@ -110,14 +112,14 @@ class ImapUtil(object):
110112
lst = self.client.list_folders(args.folder)
111113
else:
112114
lst = self.client.list_folders()
113-
for f in lst:
114-
print(f)
115+
for flags, delimiter, name in lst:
116+
print(name)
115117

116118
@arg('folder')
117119
def do_select(self, args):
118120
folder = args.folder
119121
res = self.client.select_folder(folder)
120-
print("%d message(s) in %s" % (res['EXISTS'], folder))
122+
print("%d message(s) in %s" % (res[b'EXISTS'], folder))
121123

122124
@arg('--export', type=str, help='Export messages')
123125
@arg('--unread', action='store_true', help='Treat even if unread')
@@ -167,16 +169,9 @@ class ImapUtil(object):
167169

168170
def get_older(self, folder, days, unread=False):
169171
self.client.select_folder(folder)
170-
date = time.localtime(time.time() - int(days) * 86400)
171-
# sdate = imaplib.Time2Internaldate(date)
172-
# print('sdate:',sdate)
173-
# lst = account.search('SEEN','UNDELETED',
174-
# 'BEFORE',sdate)
175-
sdate = time.strftime('%e-%b-%Y', date)
176-
terms = ('UNDELETED', 'BEFORE', sdate)
177-
if not unread:
178-
terms += ('SEEN',)
179-
lst = self.client.search(terms)
172+
date = dt.date.today() - dt.timedelta(days=days)
173+
lst = self.client.search(('SEEN','UNDELETED',
174+
'BEFORE', date))
180175
return lst
181176

182177
@arg('--delete', action='store_true', help='Delete messages after export')

0 commit comments

Comments
 (0)