Пример #1
0
 def init_groupings(self):
     context = aq_inner(self.context)
     context._groupings = OOBTree({
         'label': OrderedBTreeFolderBase(),
         'author': OrderedBTreeFolderBase(),
         'type': OrderedBTreeFolderBase(),
         'first_letter': OrderedBTreeFolderBase(),
     })
Пример #2
0
 def test_getitem(self):
     folder = OrderedBTreeFolderBase("f1")
     foo = DummyObject('foo')
     folder._setOb('foo', foo)
     self.assertEqual(folder['foo'], foo)
     self.assertEqual(folder.__getitem__('foo'), foo)
     self.assertRaises(KeyError, folder.__getitem__, 'bar')
Пример #3
0
 def create(self):
     folder = OrderedBTreeFolderBase("f1")
     folder._setOb('o1', DummyObject('o1', 'mt1'))
     folder._setOb('o2', DummyObject('o2', 'mt2'))
     folder._setOb('o3', DummyObject('o3', 'mt1'))
     folder._setOb('o4', DummyObject('o4', 'mt2'))
     return folder
Пример #4
0
 def create(self):
     folder = OrderedBTreeFolderBase('f1')
     folder['o1'] = DummyObject('o1', 'mt1')
     folder['o2'] = DummyObject('o2', 'mt2')
     folder['o3'] = DummyObject('o3', 'mt1')
     folder['o4'] = DummyObject('o4', 'mt2')
     return folder
Пример #5
0
 def create(self):
     container = OrderedBTreeFolderBase()
     container._ordering = u'unordered'
     container._setOb('o1', DummyObject('o1', 'mt1'))
     container._setOb('o2', DummyObject('o2', 'mt2'))
     container._setOb('o3', DummyObject('o3', 'mt1'))
     container._setOb('o4', DummyObject('o4', 'mt2'))
     return container
Пример #6
0
 def test_delitem(self):
     folder = OrderedBTreeFolderBase("f1")
     folder._setOb('foo', DummyObject('foo'))
     folder._setOb('bar', DummyObject('bar'))
     self.assertEquals(len(folder.objectIds()), 2)
     del folder['foo']
     del folder['bar']
     self.assertEquals(len(folder.objectIds()), 0)
Пример #7
0
 def test_to_verify_ticket_9120(self):
     folder = OrderedBTreeFolderBase("f1")
     folder['ob1'] = ob1 = DummyObject('ob1')
     folder['ob2'] = ob2 = DummyObject('ob2')
     folder['ob3'] = ob3 = DummyObject('ob3')
     folder['ob4'] = ob4 = DummyObject('ob4')
     del folder['ob2']
     del folder['ob3']
     self.assertEquals(folder.keys(), ['ob1', 'ob4'])
     self.assertEquals(map(aq_base, folder.values()), [ob1, ob4])
     self.assertEquals([key in folder for key in folder], [True, True])
Пример #8
0
    def testDeleteSpeed(self):
        folder = OrderedBTreeFolderBase("f1")
        for idx in xrange(100000):
            id = 'foo-%s' % idx
            folder[id] = DummyObject(id, 'bar')
        last = reversed(folder.keys()[-100:])

        @timecall
        def delete():
            for id in last:
                del folder[id]
        delete()
Пример #9
0
 def create(self):
     container = OrderedBTreeFolderBase()
     container.setOrdering(u'partial')
     container['o1'] = Orderable('o1', 'mt1')
     container['o2'] = Orderable('o2', 'mt2')
     container['c1'] = Chaoticle('c1', 'mt3')
     container['o3'] = Orderable('o3', 'mt1')
     container['c2'] = Chaoticle('c2', 'mt2')
     container['c3'] = Chaoticle('c3', 'mt1')
     container['o4'] = Orderable('o4', 'mt2')
     self.unordered = ['c1', 'c2', 'c3']
     ordering = container.getOrdering()
     return container, ordering
Пример #10
0
    def _add_grouping_values(self, grouping, values, obj):
        """ Add $uid to the list of uids stored under the grouping values
            (provided by $values) in the groupings datastructure.

            If the list doesn't exist yet, add it.
        """
        uid = IUUID(obj)
        groupings = self.get_groupings()
        if grouping not in groupings:
            logger.info('Adding grouping %s to object %r', grouping, obj)
            groupings[grouping] = OrderedBTreeFolderBase()

        for value in values:
            if value in groupings[grouping]:
                groupings[grouping][value].add(uid)
            else:
                groupings[grouping][value] = GroupingStorageValues([uid])
Пример #11
0
 def test_len_one_child(self):
     folder = OrderedBTreeFolderBase("f1")
     folder['child'] = DummyObject('child')
     self.assertEquals(len(folder), 1)
Пример #12
0
 def test_len_empty_folder(self):
     folder = OrderedBTreeFolderBase("f1")
     self.assertEquals(len(folder), 0)
Пример #13
0
 def test_contains(self):
     folder = OrderedBTreeFolderBase("f1")
     folder._setOb('foo', DummyObject('foo'))
     folder._setOb('bar', DummyObject('bar'))
     self.failUnless('foo' in folder)
     self.failUnless('bar' in folder)
Пример #14
0
 def test_setitem(self):
     folder = OrderedBTreeFolderBase("f1")
     foo = DummyObject('foo')
     folder['foo'] = foo
     self.assertEqual(folder._getOb('foo'), foo)
Пример #15
0
 def testDefaultAdapter(self):
     folder = OrderedBTreeFolderBase()
     self.failUnless(isinstance(folder.getOrdering(), DefaultOrdering))
Пример #16
0
 def setUp(self):
     self.folder = OrderedBTreeFolderBase("f1")
     self.folder['foo'] = DummyObject('foo', 'mt1')
     self.folder['bar'] = DummyObject('bar', 'mt1')
     self.folder['baz'] = DummyObject('baz', 'mt1')
Пример #17
0
 def testSetUnknownOrdering(self):
     folder = OrderedBTreeFolderBase()
     self.assertRaises(ComponentLookupError, folder.setOrdering, 'foo')
Пример #18
0
 def testSetOrdering(self):
     folder = OrderedBTreeFolderBase()
     folder.setOrdering('unordered')
     self.failUnless(isinstance(folder.getOrdering(), UnorderedOrdering))
     folder.setOrdering()
     self.failUnless(isinstance(folder.getOrdering(), DefaultOrdering))
Пример #19
0
 def testUnknownOrdering(self):
     folder = OrderedBTreeFolderBase()
     folder._ordering = 'foo'
     self.failUnless(isinstance(folder.getOrdering(), DefaultOrdering))
Пример #20
0
 def testUnorderedOrdering(self):
     folder = OrderedBTreeFolderBase()
     folder._ordering = 'unordered'
     self.failUnless(isinstance(folder.getOrdering(), UnorderedOrdering))
Пример #21
0
 def testDefaultAdapter(self):
     folder = OrderedBTreeFolderBase()
     self.assertTrue(isinstance(folder.getOrdering(), DefaultOrdering))
Пример #22
0
 def testUnorderedOrdering(self):
     folder = OrderedBTreeFolderBase()
     folder._ordering = 'unordered'
     self.assertTrue(isinstance(folder.getOrdering(), UnorderedOrdering))