--- archivemail 2006-11-03 01:21:22.000000000 +0200
+++ archivemail 2007-05-10 12:04:16.000000000 +0300
@@ -779,7 +779,10 @@
# the headers have no valid dates -- last resort, try the file timestamp
# this will not work for mbox mailboxes
try:
- file_name = message.fp.name
+ if sys.hexversion >= 0x020500F0:
+ file_name = message.fp._file.name
+ else:
+ file_name = message.fp.name
except AttributeError:
# we are looking at a 'mbox' mailbox - argh!
# Just return the current time - this will never get archived :(
@@ -788,7 +791,7 @@
if not os.path.isfile(file_name):
unexpected_error("mailbox file name '%s' has gone missing" % \
file_name)
- time_message = os.path.getmtime(message.fp.name)
+ time_message = os.path.getmtime(file_name)
vprint("using valid time found from '%s' last-modification time" % \
file_name)
return time_message
@@ -806,7 +809,11 @@
"""
status = ""
x_status = ""
- match = re.search(":2,(.+)$", message.fp.name)
+ if sys.hexversion >= 0x020500F0:
+ fpname = message.fp._file.name
+ else:
+ fpname = message.fp.name
+ match = re.search(":2,(.+)$", fpname)
if match:
flags = match.group(1)
for flag in flags:
@@ -825,7 +832,7 @@
# files in the maildir 'cur' directory are no longer new,
# they are the same as messages with 'Status: O' headers in mbox
- last_dir = os.path.basename(os.path.dirname(message.fp.name))
+ last_dir = os.path.basename(os.path.dirname(fpname))
if last_dir == "cur":
status = status + "O"
@@ -881,7 +888,10 @@
return 1
file_name = None
try:
- file_name = message.fp.name
+ if sys.hexversion >= 0x020500F0:
+ file_name = message.fp._file.name
+ else:
+ file_name = message.fp.name
except AttributeError:
pass
# maildir mailboxes use the filename suffix to indicate flagged status
@@ -901,7 +911,10 @@
return 0
file_name = None
try:
- file_name = message.fp.name
+ if sys.hexversion >= 0x020500F0:
+ file_name = message.fp._file.name
+ else:
+ file_name = message.fp.name
except AttributeError:
pass
# maildir mailboxes use the filename suffix to indicate read status
@@ -918,7 +931,10 @@
file_name = None
message_size = None
try:
- file_name = message.fp.name
+ if sys.hexversion >= 0x020500F0:
+ file_name = message.fp._file.name
+ else:
+ file_name = message.fp.name
except AttributeError:
pass
if file_name:
@@ -1269,7 +1285,11 @@
if type == "maildir":
add_status_headers(msg)
archive.write(msg)
- if not options.dry_run: delete_queue.append(msg.fp.name)
+ if sys.hexversion >= 0x020500F0:
+ fpname = msg.fp._file.name
+ else:
+ fpname = msg.fp.name
+ if not options.dry_run: delete_queue.append(fpname)
else:
vprint("decision: retain message")
msg = original.next()