From ec801c38d8ec68ca1bd4cfc1510242e6a92e5477 Mon Sep 17 00:00:00 2001 From: Adi Shavit Date: Sun, 20 Aug 2023 09:36:35 +0300 Subject: [PATCH 1/3] Rename file. --- test.py => merge_rtfs.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename test.py => merge_rtfs.py (100%) diff --git a/test.py b/merge_rtfs.py similarity index 100% rename from test.py rename to merge_rtfs.py From c05524c7078f82498d4acfc399f643d2b598aed3 Mon Sep 17 00:00:00 2001 From: Adi Shavit Date: Sun, 20 Aug 2023 09:37:57 +0300 Subject: [PATCH 2/3] Write binary byte format (not `str`). --- merge_rtfs.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/merge_rtfs.py b/merge_rtfs.py index b989bdb..75eeeae 100644 --- a/merge_rtfs.py +++ b/merge_rtfs.py @@ -30,8 +30,8 @@ def combinertf(filedir, filename,pagedelimit = True): filenames.remove(test) except ValueError: pass - out_file = open(test,'wb') - out_file.write("{") + out_file = open(test, 'wb') + out_file.write(b"{") for fname in filenames: @@ -42,10 +42,10 @@ def combinertf(filedir, filename,pagedelimit = True): mylist[-1] = mylist[-1].strip()[:-1] for i in mylist: out_file.write(i) - if pagedelimit & (fname != filenames[-1]): - out_file.write("\par \page") + if page_delimit & (fname != filenames[-1]): + out_file.write(b"\par \page") - out_file.write("} ") + out_file.write(b"} ") out_file.close() def main(): From 0cbabfe55ed8e3fbdbea2dda340b3da0015606ed Mon Sep 17 00:00:00 2001 From: Adi Shavit Date: Sun, 20 Aug 2023 09:38:17 +0300 Subject: [PATCH 3/3] Renaming and auto-formatting. --- merge_rtfs.py | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/merge_rtfs.py b/merge_rtfs.py index 75eeeae..9e10af0 100644 --- a/merge_rtfs.py +++ b/merge_rtfs.py @@ -1,30 +1,35 @@ -import glob, os +import glob +import os -def readfile(filedir): + +# Adapted from: https://github.com/granluo/Combine-RTF + +def _read_file(filedir): os.chdir(filedir) return glob.glob("*.rtf") -def makedir(ndir): - try: - os.makedirs(ndir) - except OSError: - pass -def combinertf(filedir, filename,pagedelimit = True): +def _make_dir(ndir): + try: + os.makedirs(ndir) + except OSError: + pass + +def combine_rtf(filedir, filename, page_delimit=True): """ filedir: directory of the file containing all rtfs needed to be combined filename: the name of final combined rtf document. - pagedelimit: determine if rtf would start in a new page or new line. + page_delimit: determine if rtf would start in a new page or new line. """ if '/' in filename: - makedir('/'.join(filename.split('/')[:-1])) + _make_dir('/'.join(filename.split('/')[:-1])) else: - makedir('output') + _make_dir('output') filename = 'output/' + filename - filenames = readfile(filedir) + filenames = _read_file(filedir) test = filename try: filenames.remove(test) @@ -34,8 +39,9 @@ def combinertf(filedir, filename,pagedelimit = True): out_file.write(b"{") for fname in filenames: + if test in fname: + continue - if test in fname: continue with open(fname, 'rb') as f1: mylist = list(l1 for l1 in f1) mylist[0] = mylist[0].strip()[1:] @@ -48,8 +54,10 @@ def combinertf(filedir, filename,pagedelimit = True): out_file.write(b"} ") out_file.close() -def main(): - combinertf('.','output.rtf',True) + +def __main(): + combine_rtf('.', 'output.rtf', True) + if __name__ == '__main__': - main() + __main()