Use DummyYaqlYamlLoader to load classes during upload
This commit changes the loader, that loads MuranoPL classes during package upload to DummyYaqlYamlLoader. This would allow importing and parsing packages that contain '!yaql' tag without any errors, when importing to glare. Change-Id: I9071bb479019cac20bf61f110154082063c9d777 Closes-Bug: #1586028
This commit is contained in:
parent
b1e8a1753c
commit
369056a1f6
|
@ -354,7 +354,8 @@ class Package(FileWrapperMixin):
|
|||
filename = "Classes/%s" % class_file
|
||||
if filename not in self.contents.namelist():
|
||||
continue
|
||||
klass = yaml.safe_load(self.contents.open(filename))
|
||||
klass = yaml.load(self.contents.open(filename),
|
||||
DummyYaqlYamlLoader)
|
||||
self._classes[class_name] = klass
|
||||
return self._classes
|
||||
|
||||
|
@ -587,6 +588,14 @@ class Bundle(FileWrapperMixin):
|
|||
yield pkg_obj
|
||||
|
||||
|
||||
class DummyYaqlYamlLoader(yaml.SafeLoader):
|
||||
"""Constructor that treats !yaql as string."""
|
||||
pass
|
||||
|
||||
DummyYaqlYamlLoader.add_constructor(
|
||||
u'!yaql', DummyYaqlYamlLoader.yaml_constructors[u'tag:yaml.org,2002:str'])
|
||||
|
||||
|
||||
class YaqlYamlLoader(yaml.SafeLoader):
|
||||
pass
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
fixes:
|
||||
- It is now possible to import packages with '!yaql' tag, when glare
|
||||
is used as backend. Before this fix, importing such package caused
|
||||
a parsing error.
|
Loading…
Reference in New Issue