'Convert org_number into an integer
org_number: integer or representation of a number: string or unicode
Try force converting to int first, on error try converting from Roman numerals
returns integer or 0'

@staticmethod
def _convert_number(org_number):

    try:
        if org_number:
            number = int(org_number)
        else:
            number = 0
    except Exception:
        roman_to_int_map = ((u'M', 1000), (u'CM', 900), (u'D', 500), (u'CD', 400), (u'C', 100), (u'XC', 90), (u'L', 50), (u'XL', 40), (u'X', 10), (u'IX', 9), (u'V', 5), (u'IV', 4), (u'I', 1))
        roman_numeral = org_number.upper()
        number = 0
        index = 0
        for (numeral, integer) in roman_to_int_map:
            while (roman_numeral[index:(index + len(numeral))] == numeral):
                number += integer
                index += len(numeral)
    return number
