def extract_properties(options, name, properties): settings = options.get(name, {}) result = {} # str type implies settings is a resource id if isinstance(settings, six.string_types): result['id'] = settings result['name'] = ResourceIdParser.get_resource_name(settings) result['resource_group_name'] = ResourceIdParser.get_resource_group(settings) else: for key in properties.keys(): result[key] = settings.get(StringUtils.snake_to_camel(key), properties[key]) return result
def extract_properties(options, name, properties): settings = options.get(name, {}) result = {} # str type implies settings is a resource id if isinstance(settings, six.string_types): result['id'] = settings result['name'] = ResourceIdParser.get_resource_name(settings) result['resource_group_name'] = ResourceIdParser.get_resource_group(settings) else: # get nested keys for key in properties.keys(): value = settings.get(StringUtils.snake_to_camel(key), properties[key]) if isinstance(value, dict): result[key] = \ AzureFunctionMode.extract_properties({'v': value}, 'v', properties[key]) else: result[key] = value return result
def test_snake_to_camel(self): self.assertEqual(StringUtils.snake_to_camel(""), "") self.assertEqual(StringUtils.snake_to_camel("test"), "test") self.assertEqual(StringUtils.snake_to_camel("test_abc"), "testAbc") self.assertEqual(StringUtils.snake_to_camel("test_abc_def"), "testAbcDef")