On 19/08/2020 12.53, sebb wrote:
On Wed, 19 Aug 2020 at 09:31, <[email protected]> wrote:
This is an automated email from the ASF dual-hosted git repository.
humbedooh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-ponymail-foal.git
The following commit(s) were added to refs/heads/master by this push:
new d065941 add a convert_lf option for fixing LF line endings on the
fly with f=f
new 6b1fe8f Merge branch 'master' of
github.com:apache/incubator-ponymail-foal
d065941 is described below
commit d065941c953bdcbdbce0e91260bc9f2d2dd41ad4
Author: Daniel Gruno <[email protected]>
AuthorDate: Wed Aug 19 10:31:09 2020 +0200
add a convert_lf option for fixing LF line endings on the fly with f=f
also remove unused imports that were lingering..
This new feature is disabled by default, as it breaks unit testing.
Need to find a way around that.
---
tools/archiver.py | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/tools/archiver.py b/tools/archiver.py
index 32c2597..cbe66e4 100755
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -54,8 +54,6 @@ import traceback
import typing
import uuid
-import certifi
-import chardet
import formatflowed
import netaddr
import yaml
@@ -193,14 +191,20 @@ class Body:
def encode(self, charset="utf-8", errors="strict"):
return self.string.encode(charset, errors=errors)
- def unflow(self):
+ def unflow(self, convert_lf = False):
if self.string:
if self.flowed:
- return formatflowed.convertToWrapped(
- self.string.encode(self.character_set, errors="ignore"),
+ # Convert lone LF to CRLF if found
+ if convert_lf:
+ fixed_string = "\r\n".join([x.strip() for x in
self.string.split("\n")])
+ else:
+ fixed_string = self.string
+ flow_fixed = formatflowed.convertToWrapped(
+ fixed_string.encode(self.character_set, errors="ignore"),
wrap_fixed=False,
character_set=self.character_set,
)
I think you need to change CRLF back to LF after wrapping.
I was looking at that, but I did not find any compelling reason to do
so, as this unflowed text only goes into the body of the digested
document (for displaying in the UI).
If you can think of a good reason to convert it back, I'm more than
happy to add that into the mix. I suppose it should only convert if the
original text had LF and nor CRLF?
+ return flow_fixed
return self.string