def update(self, job_id, job):
        scheduling = {}
        try:
            if job['schedule_end_date'] != '':
                utils.assign_and_remove(job, scheduling, 'schedule_end_date')
            else:
                job.pop('schedule_end_date')
        except __HOLE__:
            pass

        try:
            if job['schedule_interval'] != '':
                utils.assign_and_remove(job, scheduling, 'schedule_interval')
            else:
                job.pop('schedule_interval')
        except KeyError:
            pass

        try:
            if job['schedule_start_date'] != '':
                utils.assign_and_remove(job, scheduling, 'schedule_start_date')
            else:
                job.pop('schedule_start_date')
        except KeyError:
            pass

        job.pop('job_actions', [])
        job.pop('clients', None)
        job.pop('actions', None)
        job.pop('job_id')
        job['job_schedule'] = scheduling
        return self.client.jobs.update(job_id, job)
dataset/ETHPy150Open openstack/freezer-web-ui/disaster_recovery/api/api.py/Job.update