From 5a1ac84332df40c9679b7b7fb34092169c5f5256 Mon Sep 17 00:00:00 2001 From: "mmachicao@m19r.de" Date: Sun, 16 May 2021 16:06:12 +0200 Subject: [PATCH] Issuing the LIST command to query the hierarchy delimiter is redundant and has been removed --- imapbackup38.py | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/imapbackup38.py b/imapbackup38.py index 00f9624..b5a48a4 100644 --- a/imapbackup38.py +++ b/imapbackup38.py @@ -357,31 +357,10 @@ def parse_list(row): return [paren_list] + string_list -def get_hierarchy_delimiter(server): - """Queries the imapd for the hierarchy delimiter, eg. '.' in INBOX.Sent""" - # see RFC 3501 page 39 paragraph 4 - typ, data = server.list('', '') - assert(typ == 'OK') - assert(len(data) == 1) - - data_str = str(data[0], 'utf-8') - lst = parse_list(data_str) # [attribs, hierarchy delimiter, root name] - hierarchy_delim = lst[1] - # NIL if there is no hierarchy - if 'NIL' == hierarchy_delim: - hierarchy_delim = '.' - return hierarchy_delim - - def get_names(server, thunderbird, nospinner): """Get list of folders, returns [(FolderName,FileName)]""" - spinner = Spinner("Finding Folders", nospinner) - # Get hierarchy delimiter - delim = get_hierarchy_delimiter(server) - spinner.spin() - # Get LIST of all folders typ, data = server.list() assert(typ == 'OK') @@ -389,12 +368,12 @@ def get_names(server, thunderbird, nospinner): names = [] - # parse each LIST, find folder name + # parse each LIST entry for folder name hierarchy delimiter for row in data: row_str = str(row,'utf-8') - lst = parse_list(row_str) + lst = parse_list(row_str) # [attribs, hierarchy delimiter, root name] + delim = lst[1] foldername = lst[2] - #suffix = {'none': '', 'gzip': '.gz', 'bzip2': '.bz2'}[compress] if thunderbird: filename = '.sbd/'.join(foldername.split(delim)) if filename.startswith("INBOX"):