diff --git a/gluon/dal.py b/gluon/dal.py index ea1107de..3180ecce 100644 --- a/gluon/dal.py +++ b/gluon/dal.py @@ -6124,7 +6124,7 @@ class IMAPAdapter(NoSQLAdapter): else: return (uid_list[0], uid_list[-1]) - def convert_date(self, date, add=None): + def convert_date(self, date, add=None, imf=False): if add is None: add = datetime.timedelta() """ Convert a date object to a string @@ -6138,7 +6138,10 @@ class IMAPAdapter(NoSQLAdapter): if isinstance(date, basestring): # Prevent unexpected date response format try: - dayname, datestring = date.split(",") + if "," in date: + dayname, datestring = date.split(",") + else: + dayname, datestring = None, date date_list = datestring.strip().split() year = int(date_list[2]) month = months.index(date_list[1].upper()) @@ -6151,7 +6154,9 @@ class IMAPAdapter(NoSQLAdapter): (date, e)) return None elif isinstance(date, (datetime.date, datetime.datetime)): - return (date + add).strftime("%a, %d %b %Y %H:%M:%S %z") + if imf: date_format = "%a, %d %b %Y %H:%M:%S %z" + else: date_format = "%d-%b-%Y" + return (date + add).strftime(date_format) else: return None @@ -6548,7 +6553,7 @@ class IMAPAdapter(NoSQLAdapter): message = Message() message["from"] = d.get("sender", "") message["subject"] = d.get("subject", "") - message["date"] = self.convert_date(date_time) + message["date"] = self.convert_date(date_time, imf=True) if mime: message.set_type(mime)