From 9cb038ef0a0328effbb785f1adee37805a5e87cc Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Fri, 25 Jun 2021 22:12:42 +0200 Subject: [PATCH] Quote cli in meta data to not contain line breaks Resolves: #327 --- boxes/__init__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/boxes/__init__.py b/boxes/__init__.py index 617a0b0..b5b0102 100755 --- a/boxes/__init__.py +++ b/boxes/__init__.py @@ -475,7 +475,13 @@ class Boxes: self.inkscapefile = args[-1] del args[-1] args = [a for a in args if not a.startswith('--tab=')] - self.metadata["cli"] = "boxes " + self.__class__.__name__ + " " + " ".join((quote(arg) for arg in args)) + + def cliquote(s): + s = s.replace('\r', '') + s = s.replace('\n', "\\n") + return quote(s) + + self.metadata["cli"] = "boxes " + self.__class__.__name__ + " " + " ".join((cliquote(arg) for arg in args)) for key, value in vars(self.argparser.parse_args(args=args)).items(): # treat edge settings separately for setting in self.edgesettings: