Exemplo n.º 1
0
    def test_merge_nested_dict_no_depth(self):
        dest = {
            'key': 'value',
            'nested': {
                'key2': 'value2',
                'key3': 'value3',
                'nested2': {
                    'key': 'value',
                    'some': 'thing'
                }
            }
        }
        source = {
            'key': 'modified',
            'nested': {
                'key3': 'modified3',
                'nested2': {
                    'key5': 'value5'
                }
            }
        }
        utils.merge_nested_dict(dest, source)

        self.assertEqual(
            dest, {
                'key': 'modified',
                'nested': {
                    'key3': 'modified3',
                    'nested2': {
                        'key5': 'value5'
                    }
                }
            })
Exemplo n.º 2
0
 def update(self, alarm_id, **kwargs):
     self._compat_legacy_alarm_kwargs(kwargs)
     updated = self.get(alarm_id).to_dict()
     kwargs = dict((k, v) for k, v in kwargs.items()
                   if k in updated and k in UPDATABLE_ATTRIBUTES)
     utils.merge_nested_dict(updated, kwargs, depth=1)
     return self._update(self._path(alarm_id), updated)
Exemplo n.º 3
0
    def test_merge_nested_dict_no_depth(self):
        dest = {
            "key": "value",
            "nested": {"key2": "value2", "key3": "value3", "nested2": {"key": "value", "some": "thing"}},
        }
        source = {"key": "modified", "nested": {"key3": "modified3", "nested2": {"key5": "value5"}}}
        utils.merge_nested_dict(dest, source)

        self.assertEqual(dest, {"key": "modified", "nested": {"key3": "modified3", "nested2": {"key5": "value5"}}})
 def update(self, alarm_id, **kwargs):
     self._compat_legacy_alarm_kwargs(kwargs)
     updated = self.get(alarm_id).to_dict()
     updated['time_constraints'] = self._merge_time_constraints(
         updated.get('time_constraints', []), kwargs)
     kwargs = dict((k, v) for k, v in kwargs.items()
                   if k in updated and k in UPDATABLE_ATTRIBUTES)
     utils.merge_nested_dict(updated, kwargs, depth=1)
     return self._update(self._path(alarm_id), updated)
Exemplo n.º 5
0
 def update(self, alarm_id, **kwargs):
     self._compat_legacy_alarm_kwargs(kwargs)
     alarm = self.get(alarm_id)
     if alarm is None:
         raise exc.CommandError('Alarm not found: %s' % alarm_id)
     updated = alarm.to_dict()
     updated['time_constraints'] = self._merge_time_constraints(
         updated.get('time_constraints', []), kwargs)
     kwargs = dict((k, v) for k, v in kwargs.items()
                   if k in updated and k in UPDATABLE_ATTRIBUTES)
     utils.merge_nested_dict(updated, kwargs, depth=1)
     return self._update(self._path(alarm_id), updated)
Exemplo n.º 6
0
 def update(self, alarm_id, **kwargs):
     self._compat_legacy_alarm_kwargs(kwargs)
     alarm = self.get(alarm_id)
     if alarm is None:
         raise exc.CommandError('Alarm not found: %s' % alarm_id)
     updated = alarm.to_dict()
     updated['time_constraints'] = self._merge_time_constraints(
         updated.get('time_constraints', []), kwargs)
     kwargs = dict((k, v) for k, v in kwargs.items()
                   if k in updated and k in UPDATABLE_ATTRIBUTES)
     utils.merge_nested_dict(updated, kwargs, depth=1)
     return self._update(self._path(alarm_id), updated)
    def test_merge_nested_dict_no_depth(self):
        dest = {'key': 'value',
                'nested': {'key2': 'value2',
                           'key3': 'value3',
                           'nested2': {'key': 'value',
                                       'some': 'thing'}}}
        source = {'key': 'modified',
                  'nested': {'key3': 'modified3',
                             'nested2': {'key5': 'value5'}}}
        utils.merge_nested_dict(dest, source)

        self.assertEqual({'key': 'modified',
                          'nested': {'key3': 'modified3',
                                     'nested2': {'key5': 'value5'}}}, dest)
Exemplo n.º 8
0
 def _merge_time_constraints(existing_tcs, kwargs):
     new_tcs = kwargs.get('time_constraints', [])
     if not existing_tcs:
         updated_tcs = new_tcs
     else:
         updated_tcs = [dict(tc) for tc in existing_tcs]
         for tc in new_tcs:
             for i, old_tc in enumerate(updated_tcs):
                 if old_tc['name'] == tc['name']:  # if names match, merge
                     utils.merge_nested_dict(updated_tcs[i], tc)
                     break
             else:
                 updated_tcs.append(tc)
     tcs_to_remove = kwargs.get('remove_time_constraints', [])
     for tc in updated_tcs:
         if tc['name'] in tcs_to_remove:
             updated_tcs.remove(tc)
     return updated_tcs
Exemplo n.º 9
0
 def _merge_time_constraints(existing_tcs, kwargs):
     new_tcs = kwargs.get('time_constraints', [])
     if not existing_tcs:
         updated_tcs = new_tcs
     else:
         updated_tcs = [dict(tc) for tc in existing_tcs]
         for tc in new_tcs:
             for i, old_tc in enumerate(updated_tcs):
                 if old_tc['name'] == tc['name']:  # if names match, merge
                     utils.merge_nested_dict(updated_tcs[i], tc)
                     break
             else:
                 updated_tcs.append(tc)
     tcs_to_remove = kwargs.get('remove_time_constraints', [])
     for tc in updated_tcs:
         if tc['name'] in tcs_to_remove:
             updated_tcs.remove(tc)
     return updated_tcs
 def update(self, pipeline_name, **kwargs):
     updated = self.get(pipeline_name).to_dict()
     kwargs = dict((k, v) for k, v in kwargs.items()
                   if k in updated and k in UPDATABLE_ATTRIBUTES)
     utils.merge_nested_dict(updated, kwargs, depth=1)
     return self._update(self._path(pipeline_name), updated)