mapping = { 'INBOX': 'inbox' , 'Archive': 'archive' , 'Drafts': 'drafts' , 'Sent': 'sent' , 'Junk Email': 'spam' , 'Deleted Items': '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' ] 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