':param profile: Either a string representing a filename,
a file like object containing a profile or a
low-level profile object'

def __init__(self, profile):

    if isStringType(profile):
        self._set(core.profile_open(profile), profile)
    elif hasattr(profile, 'read'):
        self._set(core.profile_frombytes(profile.read()))
    elif isinstance(profile, _imagingcms.CmsProfile):
        self._set(profile)
    else:
        raise TypeError('Invalid    type    for    Profile')
