def test_file_obj(self, mocker):
     e = IOError()
     e.errno = errno.EPERM
     def side_effect(*args, **kwargs):
         if args[0] == 'nofile':
             raise e
     file_mock(mocker, side_effect=side_effect)
     with pytest.raises(IOError):
         pv_cli_file_utility.get_file_obj('nofile')
     e.errno = errno.ENOENT
     pv_cli_file_utility.get_file_obj('nofile')
def get_raw_profile():
    profile_file = file_utils.get_profile_file()
    fp = file_utils.get_file_obj(profile_file, 'rb')
    cfg = None
    if fp:
        cfg = six.moves.configparser.SafeConfigParser()
        with fp:
            cfg.readfp(fp)
    return cfg        
def write_profile_config(cfg, mode='w'):
    profile_file = file_utils.get_profile_file()
    fp = file_utils.get_file_obj(profile_file, mode=mode)
    with fp:
        cfg.write(fp)
        return cfg