| Viewing file:  _errors.py (967 B)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
# coding: utf-8
 """
 Helper for formatting exception messages. Exports the following items:
 
 - unwrap()
 """
 
 from __future__ import unicode_literals, division, absolute_import, print_function
 
 import re
 import textwrap
 
 
 def unwrap(string, *params):
 """
 Takes a multi-line string and does the following:
 
 - dedents
 - converts newlines with text before and after into a single line
 - strips leading and trailing whitespace
 
 :param string:
 The string to format
 
 :param *params:
 Params to interpolate into the string
 
 :return:
 The formatted string
 """
 
 output = textwrap.dedent(string)
 
 # Unwrap lines, taking into account bulleted lists, ordered lists and
 # underlines consisting of = signs
 if output.find('\n') != -1:
 output = re.sub('(?<=\\S)\n(?=[^ \n\t\\d\\*\\-=])', ' ', output)
 
 if params:
 output = output % params
 
 output = output.strip()
 
 return output
 
 |