shrink / shrink / compatibility.py

import sys


# define a function to handle str types
if sys.version < '3':
    import codecs

    def u(text):
        # return a unicode text
        return codecs.unicode_escape_decode(text)[0]
else:
    def u(text):
        # leave text as it is
        return text


def print_text(text, *args, **kwargs):
    """Print a text to standar output

    """
    if text:
        end = kwargs.pop('end', '\n')
        text = text.format(*args) + end

    sys.stdout.write(text)


def get_exception_obj():
    """Get Exception instance in the context of an exception

    """
    return sys.exc_info()[1]


def get_exception_info():
    """Get a "3-uple" with exception information

    Tuple contains (Exception class, Exception instance, traceback).

    """
    return sys.exc_info()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.