def clean_traceback(tb):
    '''Fixes up the traceback to remove the from the file paths the part
    preceeding the project root.
    @param tb: C{str}
    @rtype: C{str}'''
    prefix = __file__[:__file__.find("feat/common/error.py")]
    regex = re.compile("(\s*File\s*\")(%s)([a-zA-Z-_\. \\/]*)(\".*)"
                       % prefix.replace("\\", "\\\\"))

    def cleanup(line):
        m = regex.match(line)
        if m:
            return m.group(1) + ".../" + m.group(3) + m.group(4)
        else:
            return line

    return '\n'.join(map(cleanup, tb.split('\n')))
Fixes up the traceback to remove the from the file paths the part
    preceeding the project root.
    @param tb: C{str}
    @rtype: C{str}