Skip to content

filtering str but the object is a byte #105

@antscrawling

Description

@antscrawling

in the gmail.py

def fetch_mailboxes(self):
response, mailbox_list = self.imap.list()
if response == 'OK':
for mailbox in mailbox_list:
# Decode bytes to string if needed (Python 3)
if isinstance(mailbox, bytes):
mailbox = mailbox.decode('utf-8')
mailbox_name = mailbox.split('"/"')[-1].replace('"', '').strip()
mailbox = Mailbox(self)
mailbox.external_name = mailbox_name
self.mailboxes[mailbox_name] = mailbox

in the mailbox.py
remove uids = filter()
replace with :
# Decode bytes to string if needed (Python 3)
uid_data = data[0]
if isinstance(uid_data, bytes):
uid_data = uid_data.decode('utf-8')
uids = filter(None, uid_data.split(' ')) # filter out empty strings

in the utf.py - make it python 2.7 and 3.xx compatible

import sys

Python 2/3 compatibility

if sys.version_info[0] >= 3:
text_type = str
binary_type = bytes
else:
text_type = unicode
binary_type = str

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions