Skip to content

Commit 31a675e

Browse files
committed
Removing interval loop. This shouldn't be the responsibility of this tool as its use-case dependent.
1 parent 24d532a commit 31a675e

File tree

1 file changed

+29
-36
lines changed

1 file changed

+29
-36
lines changed

bin/attachment-downloader

+29-36
Original file line numberDiff line numberDiff line change
@@ -196,49 +196,42 @@ if __name__ == '__main__':
196196

197197
password = options.password if options.password else get_password()
198198

199-
while True:
199+
logging.info("Logging in to: '%s' as '%s'", options.host, options.username)
200+
mail = Imbox(options.host,
201+
username=options.username,
202+
password=password,
203+
port=options.port,
204+
ssl=tls,
205+
ssl_context=ssl.create_default_context(),
206+
starttls=starttls)
200207

201-
logging.info("Logging in to: '%s' as '%s'", options.host, options.username)
202-
mail = Imbox(options.host,
203-
username=options.username,
204-
password=password,
205-
port=options.port,
206-
ssl=tls,
207-
ssl_context=ssl.create_default_context(),
208-
starttls=starttls)
208+
logging.info("Logged in to: '%s' as '%s'", options.host, options.username)
209209

210-
logging.info("Logged in to: '%s' as '%s'", options.host, options.username)
210+
folders = []
211211

212-
folders = []
213-
214-
if options.imap_folder:
215-
folders = [options.imap_folder]
216-
else:
217-
status, folders = mail.folders()
218-
folders = [folder.decode().split(" \"/\" ")[1] for folder in folders]
219-
folders = [f for f in folders if not f == '"[Gmail]"']
220-
221-
logging.info("Folders: %s", folders)
222-
for folder in folders:
223-
filter_options = build_filter_options()
212+
if options.imap_folder:
213+
folders = [options.imap_folder]
214+
else:
215+
status, folders = mail.folders()
216+
folders = [folder.decode().split(" \"/\" ")[1] for folder in folders]
217+
folders = [f for f in folders if not f == '"[Gmail]"']
224218

225-
try:
226-
messages = mail.messages(**filter_options)
219+
logging.info("Folders: %s", folders)
220+
for folder in folders:
221+
filter_options = build_filter_options()
227222

228-
for (uid, message) in messages:
229-
process_message(filename_template, options, message)
230-
except Exception as e:
231-
logging.error("Failed to process messages for folder '%s'", folder)
232-
logging.exception(e)
223+
try:
224+
messages = mail.messages(**filter_options)
233225

234-
logging.info('Finished processing messages')
226+
for (uid, message) in messages:
227+
process_message(filename_template, options, message)
228+
except Exception as e:
229+
logging.error("Failed to process messages for folder '%s'", folder)
230+
logging.exception(e)
235231

236-
logging.info('Logging out of: %s', options.host)
237-
mail.logout()
232+
logging.info('Finished processing messages')
238233

239-
if os.getenv("AD_INTERVAL") is None:
240-
break
241-
else:
242-
time.sleep(int(os.getenv("AD_INTERVAL")))
234+
logging.info('Logging out of: %s', options.host)
235+
mail.logout()
243236

244237
logging.info("Done")

0 commit comments

Comments
 (0)