def _int2base(x, base):
    """
    Converts an integer from base 10 to some arbitrary numerical base,
    and return a string representing the number in the new base (using
    letters to extend the numerical digits).

    :type     x: int
    :param    x: The integer to convert
    :type  base: int
    :param base: The base to convert the integer to
    :rtype: str
    :returns: Dictionary with all data on the post
    """
    
    if base > len(_exradix_digits):
        raise ValueError(
            "Base is too large: The defined digit set only allows for "
            "bases smaller than " + len(_exradix_digits) + "."
        )

    if x > 0:
        sign = 1
    elif x == 0:
        return _exradix_digits[0]
    else:
        sign = -1

    x *= sign
    digits = []

    while x:
        digits.append(
            _exradix_digits[int(x % base)])
        x = int(x / base)

    if sign < 0:
        digits.append('-')

    digits.reverse()

    return ''.join(digits)