Esempio n. 1
0
 def saveScheduleData(self, p_json):
     """A new/changed schedule is returned.  Process it and update the internal data via schedule.py
     """
     l_json = json_tools.decode_json_unicode(p_json)
     l_delete = l_json['Delete']
     l_schedule_ix = int(l_json['Key'])
     if l_delete:
         try:
             del self.m_pyhouse_obj.House.Schedules[l_schedule_ix]
         except AttributeError as e:
             LOG.warning('Failed to delete schedule: {}, ix:{}').format(
                 e, l_schedule_ix)
         return
     try:
         l_obj = self.m_pyhouse_obj.House.Schedules[l_schedule_ix]
     except KeyError:
         l_obj = ScheduleBaseData()
     l_obj.Name = l_json['Name']
     l_obj.Active = l_json['Active']
     l_obj.Key = l_schedule_ix
     #
     l_obj.ScheduleType = l_json['ScheduleType']
     l_obj.Time = l_json['Time']
     l_obj.DayOfWeek = l_json['DayOfWeek']
     l_obj.ScheduleMode = l_json['ScheduleMode']
     #
     if l_obj.ScheduleType == 'Lighting':
         l_obj = self._save_light(l_obj, l_json)
     elif l_obj.ScheduleType == 'Irrigation':
         l_obj = self._save_irrigation(l_obj, l_json)
     #
     l_obj._DeleteFlag = l_json['Delete']
     self.m_pyhouse_obj.House.Schedules[l_schedule_ix] = l_obj
     self.m_pyhouse_obj._APIs.House.ScheduleAPI.RestartSchedule()