Python3: Fix using dictionary keys() as list
It will throw TypeError when you try to operate on dict.keys() like a list in python3. ref:https://docs.python.org/3/library/stdtypes.html#dictionary-view-objects Targets blueprint: murano-python-3-support Change-Id: I8a2dc7844248aa26794ed50d77ab59dd12056fcf
This commit is contained in:
@@ -535,7 +535,7 @@ class XMLDictSerializer(DictSerializer):
|
||||
|
||||
def default(self, data, result=None):
|
||||
# We expect data to contain a single key which is the XML root.
|
||||
root_key = data.keys()[0]
|
||||
root_key = list(data.keys())[0]
|
||||
doc = minidom.Document()
|
||||
node = self._to_xml_node(doc, self.metadata, root_key, data[root_key])
|
||||
|
||||
|
@@ -47,7 +47,7 @@ class Statement(DslExpression):
|
||||
elif isinstance(statement, dict):
|
||||
if len(statement) != 1:
|
||||
raise SyntaxError()
|
||||
key = statement.keys()[0]
|
||||
key = list(statement.keys())[0]
|
||||
value = statement[key]
|
||||
else:
|
||||
raise SyntaxError()
|
||||
|
@@ -66,7 +66,7 @@ class MuranoMethod(dsl_types.MuranoMethod):
|
||||
if (not isinstance(record, dict) or
|
||||
len(record) > 1):
|
||||
raise ValueError()
|
||||
name = record.keys()[0]
|
||||
name = list(record.keys())[0]
|
||||
self._arguments_scheme[name] = typespec.ArgumentSpec(
|
||||
self.name, name, record[name], self.murano_class)
|
||||
self._yaql_function_definition = \
|
||||
|
@@ -28,6 +28,7 @@ from murano.dsl import yaql_integration
|
||||
|
||||
|
||||
class MuranoPackage(dsl_types.MuranoPackage):
|
||||
|
||||
def __init__(self, package_loader, name, version=None,
|
||||
runtime_version=None, requirements=None):
|
||||
super(MuranoPackage, self).__init__()
|
||||
@@ -73,9 +74,8 @@ class MuranoPackage(dsl_types.MuranoPackage):
|
||||
|
||||
@property
|
||||
def classes(self):
|
||||
return set(self._classes.keys() +
|
||||
self._load_queue.keys() +
|
||||
self._native_load_queue.keys())
|
||||
return set(self._classes.keys()).union(
|
||||
self._load_queue.keys()).union(self._native_load_queue.keys())
|
||||
|
||||
def get_resource(self, name):
|
||||
raise NotImplementedError('resource API is not implemented')
|
||||
|
@@ -266,13 +266,13 @@ class Agent(object):
|
||||
|
||||
def _get_url(self, file):
|
||||
if isinstance(file, dict):
|
||||
return file.values()[0]
|
||||
return list(file.values())[0]
|
||||
else:
|
||||
return file
|
||||
|
||||
def _get_name(self, file):
|
||||
if isinstance(file, dict):
|
||||
name = file.keys()[0]
|
||||
name = list(file.keys())[0]
|
||||
else:
|
||||
name = file
|
||||
|
||||
@@ -284,7 +284,7 @@ class Agent(object):
|
||||
|
||||
def _get_file_value(self, file):
|
||||
if isinstance(file, dict):
|
||||
file = file.values()[0]
|
||||
file = list(file.values())[0]
|
||||
return file
|
||||
|
||||
def _get_body(self, file, resources, folder):
|
||||
|
@@ -38,10 +38,11 @@ class PluginLoaderTest(base.MuranoTestCase):
|
||||
test_obj = extensions_loader.PluginLoader('test.namespace')
|
||||
test_obj.load_extension(ext, name_map)
|
||||
self.assertEqual(1, len(test_obj.packages))
|
||||
loaded_pkg = test_obj.packages.values()[0]
|
||||
loaded_pkg = list(test_obj.packages.values())[0]
|
||||
self.assertIsInstance(loaded_pkg,
|
||||
extensions_loader.PackageDefinition)
|
||||
self.assertEqual('test.namespace.Test', loaded_pkg.classes.keys()[0])
|
||||
self.assertEqual('test.namespace.Test',
|
||||
list(loaded_pkg.classes.keys())[0])
|
||||
self.assertEqual({'test.namespace.Test': test_obj.packages.keys()},
|
||||
name_map)
|
||||
|
||||
|
Reference in New Issue
Block a user