def METHOD_NAME(text):
    """Convert a string containing an SI value to an integer or return an
    integer if that is what was passed in."""
    if isinstance(text, int):
        return text
    if not isinstance(text, str):
        raise ValueError("Source value must be string or integer")
    matches = si_regex.search(text.lower(), 0)
    if matches is None:
        raise ValueError("Invalid SI value '" + text + "'")
    number = int(matches.group(1)) if matches.group(2) is None \
        else float(matches.group(1))
    unit = matches.group(3)
    multiplier = 1 if unit is None else si_multipliers.get(unit.lower(), '')
    return number * multiplier