You can use special characters to frame nicely some lines of text in a text document.
frame-multiline-script.py """multi-line string"""
Note
You must use your multi-line string of text between triple quotes as the script argument.
#!/usr/bin/env python3
import sys
import os
u1 = "─"
u2 = "│ "
u3 = "┌"
u4 = "┐"
u5 = "└"
u6 = "┘"
special_chars = ["'", "\\", "<", ">"]
try:
if sys.argv[1]:
# input = re.escape(sys.argv[1])
input = sys.argv[1]
except:
print("""
Script has no argument!
use a multi-line string between triple quots, as argument.
usage:
{script_name} \"\"\"multi-line string\"\"\"
""".format(script_name=os.path.basename(__file__)))
sys.exit(0)
lines_list = input.splitlines()
longest_line = max(lines_list, key=len)
max_char = len(longest_line) + 2
newLines = []
for line in lines_list:
n = len(line)
m = max_char - n - 1
l = u2 + line + m*' ' + u2
newLines.append(l)
top_line = u3 + max_char*u1 + u4
but_line = u5 + max_char*u1 + u6
print(top_line)
for l in newLines:
print(l)
print(but_line)