Mapping object to unicode string.

    :type arg: collections.Mapping
    :param arg: mapping object
    :type level: int
    :param level: deep level

    :rtype: unicode
    :return: mapping object as unicode string

def unimapping(arg, level):
    """
    Mapping object to unicode string.

    :type arg: collections.Mapping
    :param arg: mapping object
    :type level: int
    :param level: deep level

    :rtype: unicode
    :return: mapping object as unicode string
    """

    if not isinstance(arg, collections.Mapping):
        raise TypeError(
            'expected collections.Mapping, {} received'.format(type(arg).__name__)
        )

    result = []
    for i in arg.items():
        result.append(
            pretty_spaces(level) + u': '.join(map(functools.partial(convert, level=level), i))
        )

    string = join_strings(result, level)
    if level is not None:
        string += pretty_spaces(level - 1)

    return u'{{{}}}'.format(string)