#!/usr/bin/env python3 from __future__ import print_function import rclexecm import rclexec1 import re import sys import os # Processing the output from unrtf class RTFProcessData: def __init__(self, em): self.em = em self.out = [] self.gothead = 0 self.patendhead = re.compile(b'''''') self.patcharset = re.compile(b'''^') self.out.append(line) self.gothead = 1 elif not self.patcharset.search(line): self.out.append(line) else: self.out.append(line) def wrapData(self): return b'\n'.join(self.out) class RTFFilter: def __init__(self, em): self.em = em self.ntry = 0 def reset(self): self.ntry = 0 def getCmd(self, fn): if self.ntry: return ([], None) self.ntry = 1 cmd = rclexecm.which("unrtf") if cmd: return ([cmd, "--nopict", "--html"], RTFProcessData(self.em)) else: return ([], None) if __name__ == '__main__': if not rclexecm.which("unrtf"): print("RECFILTERROR HELPERNOTFOUND unrtf") sys.exit(1) proto = rclexecm.RclExecM() filter = RTFFilter(proto) extract = rclexec1.Executor(proto, filter) rclexecm.main(proto, extract)