コード例 #1
0
ファイル: web_schedules.py プロジェクト: bopopescu/PyHouse
 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()
コード例 #2
0
ファイル: web_schedules.py プロジェクト: DBrianKimmel/PyHouse
 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.DOW = l_json['DOW']
     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()
コード例 #3
0
ファイル: schedule_xml.py プロジェクト: DBrianKimmel/PyHouse
    def _read_one_base_schedule(p_schedule_element):
        """Extract schedule information from a Base schedule xml element.

        ScheduleBaseData()
        """
        l_obj = ScheduleBaseData()
        XmlConfigTools.read_base_UUID_object_xml(l_obj, p_schedule_element)
        l_obj.DOW = PutGetXML.get_int_from_xml(p_schedule_element, 'DayOfWeek', '127')
        l_obj.ScheduleMode = PutGetXML.get_text_from_xml(p_schedule_element, 'ScheduleMode', 'Default Mode')
        l_obj.ScheduleType = PutGetXML.get_text_from_xml(p_schedule_element, 'ScheduleType')
        l_obj.Time = PutGetXML.get_text_from_xml(p_schedule_element, 'Time')
        # if l_obj.ScheduleType == 'LightingDevice':
        #    l_obj.ScheduleType = 'Lighting'
        return l_obj
コード例 #4
0
 def _read_one_base_schedule(p_schedule_element):
     """Extract schedule information from a schedule xml element.
     """
     l_obj = ScheduleBaseData()
     XmlConfigTools.read_base_object_xml(l_obj, p_schedule_element)
     l_obj.Time = PutGetXML.get_text_from_xml(p_schedule_element, 'Time')
     l_obj.ScheduleType = PutGetXML.get_text_from_xml(p_schedule_element, 'ScheduleType')
     if l_obj.ScheduleType == 'LightingDevice':
         l_obj.ScheduleType = 'Lighting'
     try:
         l_obj.DOW = PutGetXML.get_int_from_xml(l_obj, 'DayOfWeek', 0x7F)
     except:
         l_obj.DOW = 0x7F
     try:
         l_obj.Mode = PutGetXML.get_int_from_xml(l_obj, 'Mode', 0)
     except:
         l_obj.Mode = 0
     return l_obj
コード例 #5
0
ファイル: schedule_xml.py プロジェクト: bopopescu/PyHouse_1
    def _read_one_base_schedule(p_schedule_element):
        """Extract schedule information from a Base schedule xml element.

        ScheduleBaseData()
        """
        l_obj = ScheduleBaseData()
        XmlConfigTools.read_base_object_xml(l_obj, p_schedule_element)
        try:
            l_obj.DOW = PutGetXML.get_int_from_xml(l_obj, 'DayOfWeek', 0x7F)
        except:
            l_obj.DOW = 0x7F
        try:
            l_obj.ScheduleMode = PutGetXML.get_text_from_xml(
                l_obj, 'ScheduleMode', 0)
        except:
            l_obj.ScheduleMode = 'Home'
        l_obj.ScheduleType = PutGetXML.get_text_from_xml(
            p_schedule_element, 'ScheduleType')
        if l_obj.ScheduleType == 'LightingDevice':
            l_obj.ScheduleType = 'Lighting'
        l_obj.Time = PutGetXML.get_text_from_xml(p_schedule_element, 'Time')
        return l_obj
コード例 #6
0
 def saveScheduleData(self, p_json):
     """A new/changed schedule is returned.  Process it and update the internal data via schedule.py
     """
     l_json = JsonUnicode().decode_json(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: {0:}, ix:{1:}').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.DOW = l_json['DOW']
     print('fetched DOW {}'.format(l_obj.DOW))
     l_obj.Mode = l_json['Mode']
     #
     l_obj.Level = int(l_json['Level'])
     l_obj.LightName = l_json['LightName']
     l_obj.Rate = l_json['Rate']
     l_obj.RoomName = l_json['RoomName']
     #
     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()
コード例 #7
0
 def saveScheduleData(self, p_json):
     """A new/changed schedule is returned.  Process it and update the internal data via schedule.py
     """
     l_json = JsonUnicode().decode_json(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: {0:}, ix:{1:}').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.DOW = l_json['DOW']
     # print('fetched DOW {}'.format(l_obj.DOW))
     l_obj.ScheduleMode = l_json['ScheduleMode']
     #
     l_obj.Level = int(l_json['Level'])
     l_obj.LightName = l_json['LightName']
     l_obj.Rate = l_json['Rate']
     l_obj.RoomName = l_json['RoomName']
     #
     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()
コード例 #8
0
 def setUp(self, p_root):
     self.m_pyhouse_obj = SetupPyHouseObj().BuildPyHouseObj(p_root)
     self.m_xml = SetupPyHouseObj().BuildXml(p_root)
     self.m_schedule_obj = ScheduleBaseData()
     self.m_api = scheduleXml()