Support internal plugin

This commit is contained in:
Yue Zhang
2015-06-02 12:38:38 +08:00
parent 0d73772b9c
commit a99c41fa03
2 changed files with 27 additions and 16 deletions
+1 -1
View File
@@ -921,7 +921,7 @@ class ExtensionManifest(object):
def parse(self, xmlText):
logger.Verbose("Extension manifest:{0}", xmlText)
xmlDoc = ET.fromstring(xmlText.strip())
packages = FindAllNodes(xmlDoc, ".//Plugins/Plugin")
packages = FindAllNodes(xmlDoc, ".//Plugin")
for package in packages:
version = FindFirstNode(package, "Version").text
uris = FindAllNodes(package, "Uris/Uri")
+26 -15
View File
@@ -77,21 +77,28 @@ ExtensionsConfigSample="""\
ManifestSample="""\
<?xml version="1.0" encoding="utf-8"?>
<PluginVersionManifest xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Plugins>
<Plugin>
<Version>1.0</Version>
<Uris>
<Uri>http://blahblah</Uri>
</Uris>
</Plugin>
<Plugin>
<Version>1.1</Version>
<Uris>
<Uri>http://blahblah</Uri>
</Uris>
</Plugin>
</Plugins>
<InternalPlugins />
<Plugins>
<Plugin>
<Version>1.0</Version>
<Uris>
<Uri>http://blahblah</Uri>
</Uris>
</Plugin>
<Plugin>
<Version>1.1</Version>
<Uris>
<Uri>http://blahblah</Uri>
</Uris>
</Plugin>
</Plugins>
<InternalPlugins>
<Plugin>
<Version>1.2</Version>
<Uris>
<Uri>http://blahblah</Uri>
</Uris>
</Plugin>
</InternalPlugins>
</PluginVersionManifest>
"""
@@ -114,6 +121,10 @@ class TestExtensionsConfig(unittest.TestCase):
self.assertEquals(json.loads('{"foo":"bar"}'),
extension.getPublicSettings())
man = v1.ExtensionManifest(ManifestSample)
self.assertNotEquals(None, man.versionUris)
self.assertEquals(3, len(man.versionUris))
if __name__ == '__main__':
unittest.main()