'Return a |datetime| instance that is offset from datetime *dt* by
the timezone offset specified in *offset_str*, a string like
``\'-07:00\'``.'

@classmethod
def _offset_dt(cls, dt, offset_str):

    match = cls._offset_pattern.match(offset_str)
    if (match is None):
        raise ValueError((u"'%s'    is    not    a    valid    offset    string" % offset_str))
    (sign, hours_str, minutes_str) = match.groups()
    sign_factor = ((-1) if (sign == u'+') else 1)
    hours = (int(hours_str) * sign_factor)
    minutes = (int(minutes_str) * sign_factor)
    td = timedelta(hours=hours, minutes=minutes)
    return (dt + td)
