Commit 46f825fe authored by Łukasz Nowak's avatar Łukasz Nowak

Implement promise check.

parent 4d1e5b9a
...@@ -55,7 +55,24 @@ ...@@ -55,7 +55,24 @@
portal = context.getPortalObject()\n portal = context.getPortalObject()\n
\n \n
def getPASDictDifference(portal, d):\n def getPASDictDifference(portal, d):\n
raise NotImplementedError\n error_list = []\n
pas_list = portal.acl_users.objectValues()\n
pas_meta_type_set = set([q.meta_type for q in pas_list])\n
for meta_type, plugin_list in d.iteritems():\n
if meta_type not in pas_meta_type_set:\n
error_list.append(\'Missing plugin %r.\' % meta_type)\n
else:\n
plugin = [q for q in pas_list if q.meta_type==meta_type][0]\n
active_list = []\n
for plugin_type_info in plugin.plugins.listPluginTypeInfo():\n
interface_name = plugin_type_info[\'id\']\n
interface = plugin_type_info[\'interface\']\n
if plugin.testImplements(interface):\n
if plugin.getId() in [q[0] for q in plugin.plugins.listPlugins(interface)]:\n
active_list.append(interface_name)\n
if plugin_list != active_list:\n
error_list.append(\'%r missing activation, expeced %s got %s.\' % (meta_type, \', \'.join(plugin_list), \', \'.join(active_list)))\n
return error_list\n
\n \n
def mergePASDict(portal, s):\n def mergePASDict(portal, s):\n
raise NotImplementedError\n raise NotImplementedError\n
......
123 124
\ No newline at end of file \ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment