mapping = { 'INBOX': 'inbox' , '[Google Mail]/All Mail': 'archive' , '[Google Mail]/Drafts': 'drafts' , '[Google Mail]/Important': 'important' , '[Google Mail]/Sent Mail': 'sent' , '[Google Mail]/Spam': 'spam' , '[Google Mail]/Starred': 'flagged' , '[Google Mail]/Bin': 'bin' } r_mapping = { val: key for key, val in mapping.items() } def transremote(foldername): return mapping.get(foldername, foldername) def translocal(foldername): return r_mapping.get(foldername, foldername) top = [ 'inbox' , 'flagged' , 'cadscan' , 'chakra' , 'unimaas' , 'clementine' , 'youtube' , 'hotmail' ] bot = [ 'archive' , 'drafts' , 'spam' , 'bin' ] def sort_key(d): folder = d['foldername'] if folder in top: return top.index(folder) elif folder in bot: return 21 + bot.index(folder) return 20