Esempio n. 1
0
    def testFirst(self):
        mc = ModelCollection()

        self.assertIsNone(mc.first())
        self.assertIsNone(mc.first(name="test"))

        items = [MockModel(name="ello"), MockModel(name="ello")]
        mc._items = items
        self.assertEqual(mc.first(), items[0])
        self.assertIsNone(mc.first(outlook="thunderbird"))
        self.assertEqual(mc.first(name="ello"), items[0])
Esempio n. 2
0
    def new(self, **kwargs):
        if not 'name' in kwargs:
            loops = 0
            name = None
            while name is None:
                name = self._wordlist[self._word_p]

                if ModelCollection.first(self, name=name):
                    name = None
                self._word_p += 1
                if self._word_p >= len(self._wordlist):
                    self._word_p = 0
                    loops += 1
                    if loops > 2:
                        name = 'unnamed-%s' % len(self._items)
                        break

            kwargs['name'] = name
        return ModelCollection.new(self, **kwargs)
Esempio n. 3
0
 def first(self, **kwargs):
     self._items = self.all()
     return ModelCollection.first(self, **kwargs)