Hi all,

Use case is to read email and extract body and other meta data and save it
in mongo.

msg.get_payload()

when I execute above line m getting, "2022=\n 15:23" in response. Quotable
printable.

msg.get_payload(decode=True)

when I execute above line m getting, "2022 15:23" in response. Quotable
printable is removed.This is as expected and works locally, when I pass eml
file. I am using the later one, "decode=True" on server but it is not
decoding quotable printable.

quopri.decodestring(body)

Then I tried above, but still it is not decoding as expected.Here is entire
the script m using in local, running on Jython 2.7.2

import email
import quopri
msg = email.message_from_file(open("some_eml.eml"))
body = ""
if msg.is_multipart():
    for part in msg.walk():
        ctype = part.get_content_type()
        cdispo = str(part.get('Content-Disposition'))
        if (ctype == 'text/plain' or ctype == 'text/html') and
'attachment' not in cdispo:
            body = part.get_content()  # decode
            print(body)
            break
else:
    body_byte = msg.get_payload()
    print(repr(body_byte))
    body = body_byte.decode("utf-8", 'ignore')
    print(repr(body))
    utf = quopri.decodestring(body)
    text = utf.decode('utf-8', errors='replace')
    print(repr(text))
    print(text)

One observation is, it is behaving as old script. Have restarted cluster.
Also did this, but didn't helped.nifi.flowcontroller.autoResumeState=false
nifi.swap.manager.implementation=org.apache.nifi.controller.FileSystemSwapManager
nifi.queue.swap.threshold=20000
nifi.swap.in.period=5 sec
nifi.swap.in.threads=1
nifi.swap.out.period=5 sec
nifi.swap.out.threads=4Any help appreciated.Also created question here,
https://community.cloudera.com/t5/Support-Questions/ExecuteScript-python-2-7-not-working-as-expected-on-server/td-p/346941

Reply via email to