Bug: archiver.py: convertToWrapped expects bytes
This fixes #462
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b1f9d43..cbbdd6c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,5 @@
## Changes in 0.12:
+- Bug: archiver.py: convertToWrapped expects bytes (#462)
- Bug: convertToWrapped expects a bytestring (#518)
- Bug: don't add archived-at header to parsed message (#521)
- Enh: Be more lenient when parsing List-Id headers (#511)
diff --git a/tools/archiver.py b/tools/archiver.py
index fa7d49a..f0e157e 100755
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -187,7 +187,7 @@
**kwargs
)
- def __init__(self, generator=None, parse_html=False, ignore_body=None, dump_dir=None, verbose=False):
+ def __init__(self, generator=None, parse_html=False, ignore_body=None, dump_dir=None, verbose=False, skipff=False):
self.html = parse_html
# Fall back to medium generator if nothing is set.
@@ -196,6 +196,7 @@
self.verbose = verbose
self.ignore_body = ignore_body
self.dump_dir = dump_dir
+ self.skipff = skipff
if parse_html:
import html2text
@@ -355,7 +356,7 @@
body = self.msgbody(msg)
saved_body = None # for format=flowed
try:
- if 'content-type' in msg_metadata and msg_metadata['content-type'].find("flowed") != -1:
+ if not self.skipff and 'content-type' in msg_metadata and msg_metadata['content-type'].find("flowed") != -1:
saved_body = body # so we can redo it properly later
# N.B. the convertToWrapped call usually fails, because body is a generally a string here
# However sometimes body is bytes at this point in which case it works
@@ -644,6 +645,10 @@
'fail silently.')
parser.add_argument('--generator', dest='generator',
help='Override the generator.')
+ parser.add_argument('--generator', dest='generator',
+ help='Override the generator.')
+ parser.add_argument('--skipff', dest = 'skipff', action='store_true',
+ help = 'Skip format=flowed processing (mainly for unit-testing)')
args = parser.parse_args()
if args.verbose:
diff --git a/tools/import-mbox.py b/tools/import-mbox.py
index 7bc3a4c..f2ea52c 100755
--- a/tools/import-mbox.py
+++ b/tools/import-mbox.py
@@ -123,7 +123,8 @@
archie = archiver.Archiver(generator=args.generator, parse_html=args.html2text,
ignore_body=args.ibody[0] if args.ibody else None,
- verbose=args.verbose)
+ verbose=args.verbose,
+ skipff=args.skipff)
while len(lists) > 0:
self.printid("%u elements left to slurp" % len(lists))
@@ -380,6 +381,8 @@
help = 'Skip Mboxo processing')
parser.add_argument('--generator', dest='generator',
help='Override the generator.')
+parser.add_argument('--skipff', dest = 'skipff', action='store_true',
+ help = 'Skip format=flowed processing (mainly for unit-testing)')
args = parser.parse_args()