Пример #1
0
 def test_parser(self):
     TAG_MAPPING['testnode'] = {'type': 'list'}
     skel_content = open(join(dirname(__file__), 'skel.xml'), 'r').read()
     sk, error = skel_parser().parse('Garbage content')
     self.assertNotEqual(error, '')
     self.assertEqual(sk, None)
     sk, error = skel_parser().parse(skel_content)
     self.assertEqual(error, '')
     self.assertNotEqual(sk.root, None)
     self.assertEqual(len(sk.root.testnode), 4)
     self.assertFalse(isinstance(sk.root.forms, list))
     self.assertTrue(isinstance(sk.root.forms.forms, list))
     self.assertTrue(len(sk.root.forms.forms) > 1)
     self.assertNotEqual(sk.root.forms.forms[1].id, None)
     self.assertEqual(sk.root.layout.skins[0].styles, [])
     self.assertEqual(sk.root.syndication.remotechannels, [])
     self.assertFalse(isinstance(sk.root.others.images, list))
     self.assertNotEqual(sk.root.security, None)
     for role in sk.root.security.roles:
         self.assertNotEqual(role.name, None)
         self.assertNotEqual(role.name, '')
         for permission in role.permissions:
             self.assertNotEqual(permission.name, None)
             self.assertNotEqual(permission.name, '')
         if role == 'Authenticated':
             expected = [
                 "Naaya - Add comments for content",
                 "Naaya - Bulk download", "Naaya - Skip Captcha"
             ]
             self.assertEqual(set(map(role.permissions, lambda x: x.name)),
                              set(expected))
Пример #2
0
 def test_parser(self):
     TAG_MAPPING["testnode"] = {"type": "list"}
     skel_content = open(join(dirname(__file__), "skel.xml"), "r").read()
     sk, error = skel_parser().parse("Garbage content")
     self.assertNotEqual(error, "")
     self.assertEqual(sk, None)
     sk, error = skel_parser().parse(skel_content)
     self.assertEqual(error, "")
     self.assertNotEqual(sk.root, None)
     self.assertEqual(len(sk.root.testnode), 4)
     self.assertFalse(isinstance(sk.root.forms, list))
     self.assertTrue(isinstance(sk.root.forms.forms, list))
     self.assertTrue(len(sk.root.forms.forms) > 1)
     self.assertNotEqual(sk.root.forms.forms[1].id, None)
     self.assertEqual(sk.root.layout.skins[0].styles, [])
     self.assertEqual(sk.root.syndication.remotechannels, [])
     self.assertFalse(isinstance(sk.root.others.images, list))
     self.assertNotEqual(sk.root.security, None)
     for role in sk.root.security.roles:
         self.assertNotEqual(role.name, None)
         self.assertNotEqual(role.name, "")
         for permission in role.permissions:
             self.assertNotEqual(permission.name, None)
             self.assertNotEqual(permission.name, "")
         if role == "Authenticated":
             expected = ["Naaya - Add comments for content", "Naaya - Bulk download", "Naaya - Skip Captcha"]
             self.assertEqual(set(map(role.permissions, lambda x: x.name)), set(expected))
Пример #3
0
 def get_skin_and_scheme_id(self, portal_path):
     skel = open(join(portal_path, 'skel', 'skel.xml'), 'rb')
     skel_handler, error = skel_parser().parse(skel.read())
     skel.close()
     skin = skel_handler.root.layout.default_skin_id
     scheme = skel_handler.root.layout.default_scheme_id
     return skin, scheme
 def get_skin_and_scheme_id(self, portal_path):
     skel = open(join(portal_path, 'skel', 'skel.xml'), 'rb')
     skel_handler, error = skel_parser().parse(skel.read())
     skel.close()
     skin = skel_handler.root.layout.default_skin_id
     scheme = skel_handler.root.layout.default_scheme_id
     return skin, scheme
Пример #5
0
 def list_fs_templates(self, portal):
     """
         return the list of the filesystem templates
     """
     portal_path = get_portal_path(self, portal)
     skel_handler, error = skel_parser().parse(readFile(join(portal_path, 'skel', 'skel.xml'), 'r'))
     if skel_handler.root.forms is not None:
         return [f.id for f in skel_handler.root.forms.forms]
Пример #6
0
 def get_fs_template_content(self, id, portal):
     """
         return the content of the filesystem template
     """
     portal_path = get_portal_path(self, portal)
     skel_handler, error = skel_parser().parse(readFile(join(portal_path, 'skel', 'skel.xml'), 'r'))
     if skel_handler.root.forms is not None:
         return readFile(join(portal_path, 'skel', 'forms', '%s.zpt' % id), 'r')
Пример #7
0
 def fix_selection_lists(self, REQUEST=None):
     """ """
     from Products.Naaya.managers.skel_parser import skel_parser
     #remove absolete eventtypes property
     try:
         delattr(self, '_events_tool__eventtypes')
         self._p_changed = 1
     except:
         pass
     #reload Naaya Event pluggable type
     self.manage_uninstall_pluggableitem(meta_type=METATYPE_NYEVENT)
     self.manage_install_pluggableitem(meta_type=METATYPE_NYEVENT)
     #reload administration portlet
     self.getPortletsTool()._getOb('portlet_administration').pt_edit(
         text=self.futRead(
             join(CHM2_PRODUCT_PATH, 'skel', 'portlets',
                  'portlet_administration.zpt'), 'r'),
         content_type='')
     #load data
     for x in [NAAYA_PRODUCT_PATH, CHM2_PRODUCT_PATH]:
         skel_handler, error = skel_parser().parse(
             self.futRead(join(x, 'skel', 'skel.xml'), 'r'))
         if skel_handler is not None:
             formstool_ob = self.getFormsTool()
             portletstool_ob = self.getPortletsTool()
             if skel_handler.root.forms is not None:
                 for form in skel_handler.root.forms.forms:
                     content = self.futRead(
                         join(x, 'skel', 'forms', '%s.zpt' % form.id), 'r')
                     form_ob = formstool_ob._getOb(form.id, None)
                     if form_ob is None:
                         formstool_ob.manage_addTemplate(id=form.id,
                                                         title=form.title,
                                                         file='')
                         form_ob = formstool_ob._getOb(form.id, None)
                     form_ob.pt_edit(text=content, content_type='')
             if skel_handler.root.portlets is not None:
                 for reflist in skel_handler.root.portlets.reflists:
                     reflist_ob = portletstool_ob._getOb(reflist.id, None)
                     if reflist_ob is None:
                         portletstool_ob.manage_addRefTree(
                             reflist.id, reflist.title, reflist.description)
                         reflist_ob = portletstool_ob._getOb(reflist.id)
                     else:
                         reflist_ob.manage_delObjects(
                             reflist_ob.objectIds())
                     for item in reflist.items:
                         reflist_ob.manage_addRefTreeNode(
                             item.id, item.title)
     return 'Script OK.'
Пример #8
0
 def test_parser(self):
     TAG_MAPPING['testnode'] = {'type': 'list'}
     skel_content = open(join(dirname(__file__), 'skel.xml'), 'r').read()
     sk, error = skel_parser().parse('Garbage content')
     self.assertNotEqual(error, '')
     self.assertEqual(sk, None)
     sk, error = skel_parser().parse(skel_content)
     self.assertEqual(error, '')
     self.assertNotEqual(sk.root, None)
     self.assertEqual(len(sk.root.testnode), 4)
     self.assertFalse(isinstance(sk.root.forms, list))
     self.assertTrue(isinstance(sk.root.forms.forms, list))
     self.assertTrue(len(sk.root.forms.forms) > 1)
     self.assertNotEqual(sk.root.forms.forms[1].id, None)
     self.assertEqual(sk.root.layout.skins[0].styles, [])
     self.assertEqual(sk.root.syndication.remotechannels, [])
     self.assertFalse(isinstance(sk.root.others.images, list))
     self.assertNotEqual(sk.root.security, None)
     for role in sk.root.security.roles:
         self.assertNotEqual(role.name, None)
         self.assertNotEqual(role.name, '')
         for permission in role.permissions:
             self.assertNotEqual(permission.name, None)
             self.assertNotEqual(permission.name, '')
Пример #9
0
 def fix_selection_lists(self, REQUEST=None):
     """ """
     from Products.Naaya.managers.skel_parser import skel_parser
     # remove absolete eventtypes property
     try:
         delattr(self, '_events_tool__eventtypes')
         self._p_changed = 1
     except:
         pass
     # reload Naaya Event pluggable type
     self.manage_uninstall_pluggableitem(meta_type=METATYPE_NYEVENT)
     self.manage_install_pluggableitem(meta_type=METATYPE_NYEVENT)
     # reload administration portlet
     self.getPortletsTool()._getOb('portlet_administration').pt_edit(
         text=self.futRead(join(CHM2_PRODUCT_PATH, 'skel', 'portlets',
                                'portlet_administration.zpt'), 'r'),
         content_type='')
     # load data
     for x in [NAAYA_PRODUCT_PATH, CHM2_PRODUCT_PATH]:
         skel_handler, error = skel_parser().parse(self.futRead(
             join(x, 'skel', 'skel.xml'), 'r'))
         if skel_handler is not None:
             formstool_ob = self.getFormsTool()
             portletstool_ob = self.getPortletsTool()
             if skel_handler.root.forms is not None:
                 for form in skel_handler.root.forms.forms:
                     content = self.futRead(join(x, 'skel', 'forms',
                                                 '%s.zpt' % form.id), 'r')
                     form_ob = formstool_ob._getOb(form.id, None)
                     if form_ob is None:
                         formstool_ob.manage_addTemplate(
                             id=form.id, title=form.title, file='')
                         form_ob = formstool_ob._getOb(form.id, None)
                     form_ob.pt_edit(text=content, content_type='')
             if skel_handler.root.portlets is not None:
                 for reflist in skel_handler.root.portlets.reflists:
                     reflist_ob = portletstool_ob._getOb(reflist.id, None)
                     if reflist_ob is None:
                         portletstool_ob.manage_addRefTree(
                             reflist.id, reflist.title, reflist.description)
                         reflist_ob = portletstool_ob._getOb(reflist.id)
                     else:
                         reflist_ob.manage_delObjects(
                             reflist_ob.objectIds())
                     for item in reflist.items:
                         reflist_ob.manage_addRefTreeNode(item.id,
                                                          item.title)
     return 'Script OK.'
Пример #10
0
    def fix_selection_lists(self, REQUEST=None):
        """ """
        from Products.Naaya.managers.skel_parser import skel_parser

        # remove absolete eventtypes property
        try:
            delattr(self, "_events_tool__eventtypes")
            self._p_changed = 1
        except:
            pass
        # reload Naaya Event pluggable type
        self.manage_uninstall_pluggableitem(meta_type=METATYPE_NYEVENT)
        self.manage_install_pluggableitem(meta_type=METATYPE_NYEVENT)
        # reload administration portlet
        self.getPortletsTool()._getOb("portlet_administration").pt_edit(
            text=self.futRead(join(CHM2_PRODUCT_PATH, "skel", "portlets", "portlet_administration.zpt"), "r"),
            content_type="",
        )
        # load data
        for x in [NAAYA_PRODUCT_PATH, CHM2_PRODUCT_PATH]:
            skel_handler, error = skel_parser().parse(self.futRead(join(x, "skel", "skel.xml"), "r"))
            if skel_handler is not None:
                formstool_ob = self.getFormsTool()
                portletstool_ob = self.getPortletsTool()
                if skel_handler.root.forms is not None:
                    for form in skel_handler.root.forms.forms:
                        content = self.futRead(join(x, "skel", "forms", "%s.zpt" % form.id), "r")
                        form_ob = formstool_ob._getOb(form.id, None)
                        if form_ob is None:
                            formstool_ob.manage_addTemplate(id=form.id, title=form.title, file="")
                            form_ob = formstool_ob._getOb(form.id, None)
                        form_ob.pt_edit(text=content, content_type="")
                if skel_handler.root.portlets is not None:
                    for reflist in skel_handler.root.portlets.reflists:
                        reflist_ob = portletstool_ob._getOb(reflist.id, None)
                        if reflist_ob is None:
                            portletstool_ob.manage_addRefList(reflist.id, reflist.title, reflist.description)
                            reflist_ob = portletstool_ob._getOb(reflist.id)
                        else:
                            reflist_ob.manage_delete_items(reflist_ob.get_collection().keys())
                        for item in reflist.items:
                            reflist_ob.add_item(item.id, item.title)
        return "Script OK."