summaryrefslogtreecommitdiffstats
path: root/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/text_opts.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/text_opts.py')
-rw-r--r--scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/text_opts.py19
1 files changed, 16 insertions, 3 deletions
diff --git a/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/text_opts.py b/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/text_opts.py
index bfb96950..6c5dd2c3 100644
--- a/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/text_opts.py
+++ b/scripts/automation/trex_control_plane/stl/trex_stl_lib/utils/text_opts.py
@@ -27,6 +27,9 @@ class TextCodesStripper:
def strip (s):
return re.sub(TextCodesStripper.pattern, '', s)
+def clear_formatting(s):
+ return TextCodesStripper.strip(s)
+
def format_num (size, suffix = "", compact = True, opts = None):
if opts is None:
opts = ()
@@ -129,10 +132,20 @@ def underline(text):
return text_attribute(text, 'underline')
+start_end_newlines = re.compile('^(\n)*([^\n].*[^\n])?(\n)*$', re.DOTALL)
def text_attribute(text, attribute):
- return "{start}{txt}{stop}".format(start=TEXT_CODES[attribute]['start'],
- txt=text,
- stop=TEXT_CODES[attribute]['end'])
+ match = start_end_newlines.match(text)
+ try:
+ startpad, msg, endpad = match.groups('')
+ except:
+ startpad = endpad = ''
+ msg = text
+ return "{startpad}{startattr}{txt}{endattr}{endpad}".format(
+ startpad = startpad,
+ startattr = TEXT_CODES[attribute]['start'],
+ txt = msg,
+ endattr = TEXT_CODES[attribute]['end'],
+ endpad = endpad)
FUNC_DICT = {'blue': blue,