def testGroups_02(self):
        collection = IconsCollection(u'../test/icons/Только группы')

        self.assertEqual(len(collection.getIcons(None)), 0)
        self.assertEqual(collection.getGroups(), [u'Группа 3', u'Группа 4'])
        self.assertEqual(len(collection.getIcons(u'Группа 3')), 3)
        self.assertEqual(len(collection.getIcons(u'Группа 4')), 4)
        self.assertIsNone(collection.getCover(None))
Example #2
0
    def testGroups_02(self):
        collection = IconsCollection('../test/icons/Только группы')

        self.assertEqual(len(collection.getIcons(None)), 0)
        self.assertEqual(collection.getGroups(), ['Группа 3', 'Группа 4'])
        self.assertEqual(len(collection.getIcons('Группа 3')), 3)
        self.assertEqual(len(collection.getIcons('Группа 4')), 4)
        self.assertIsNone(collection.getCover(None))
Example #3
0
    def testGroups_01 (self):
        collection = IconsCollection (u'../test/icons/Иконки и группы')

        self.assertEqual (len (collection.getIcons(None)), 4)
        self.assertEqual (collection.getGroups(), [u'Группа 1', u'Группа 2'])
        self.assertEqual (len (collection.getIcons (u'Группа 1')), 3)
        self.assertEqual (len (collection.getIcons (u'Группа 2')), 4)
        self.assertIsNone (collection.getCover(None))
        self.assertTrue (collection.getCover(u'Группа 1').endswith (u'__cover.png'))
        self.assertIsNone (collection.getCover(u'Группа 2'))
    def testGroups_01(self):
        collection = IconsCollection(u'../test/icons/Иконки и группы')

        self.assertEqual(len(collection.getIcons(None)), 4)
        self.assertEqual(collection.getGroups(), [u'Группа 1', u'Группа 2'])
        self.assertEqual(len(collection.getIcons(u'Группа 1')), 3)
        self.assertEqual(len(collection.getIcons(u'Группа 2')), 4)
        self.assertIsNone(collection.getCover(None))
        self.assertTrue(
            collection.getCover(u'Группа 1').endswith(u'__cover.png'))
        self.assertIsNone(collection.getCover(u'Группа 2'))
Example #5
0
    def testRenameGroup_04_self(self):
        files = ['new.png', 'image_01.JPG']
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]
        os.mkdir(self.tempDir1)

        collection = IconsCollection(self.tempDir1)
        collection.addGroup('Новая группа')
        collection.addIcons('Новая группа', fullPaths)

        collection.renameGroup('Новая группа', 'Новая группа')
        self.assertEqual(collection.getGroups(), ['Новая группа'])
        self.assertEqual(len(collection.getIcons('Новая группа')), 2)

        newcollection = IconsCollection(self.tempDir1)
        self.assertEqual(newcollection.getGroups(), ['Новая группа'])
        self.assertEqual(len(newcollection.getIcons('Новая группа')), 2)
Example #6
0
    def _getGroupsInfo(self):
        result = []

        for n, path in enumerate(getIconsDirList()):
            # First None is root directory
            collection = IconsCollection(path)
            for groupname in [None] + sorted(collection.getGroups(), key=self._localize):
                # Get group name
                if groupname is None:
                    title = _(u'Not in groups')
                else:
                    title = self._localize(groupname)

                iconslist = collection.getIcons(groupname)
                cover = collection.getCover(groupname)
                if cover is None:
                    cover = self._default_group_cover

                group_type = (IconsGroupInfo.TYPE_BUILTIN if n == 0
                              else IconsGroupInfo.TYPE_CUSTOM)

                result.append(IconsGroupInfo(iconslist,
                                             title,
                                             cover,
                                             group_type=group_type,
                                             sort_key=os.path.basename))

        self._addRecentIconsGroup(result)
        eventParam = IconsGroupsListInitParams(result)
        self._application.onIconsGroupsListInit(self._page, eventParam)

        return eventParam.groupsList
Example #7
0
    def _getGroupsInfo(self):
        result = []

        for n, path in enumerate(getIconsDirList()):
            # First None is root directory
            collection = IconsCollection(path)
            for groupname in [None] + sorted(collection.getGroups(), key=self._localize):
                # Get group name
                if groupname is None:
                    title = _(u'Not in groups')
                else:
                    title = self._localize(groupname)

                iconslist = collection.getIcons(groupname)
                cover = collection.getCover(groupname)
                if cover is None:
                    cover = self._default_group_cover

                group_type = (IconsGroupInfo.TYPE_BUILTIN if n == 0
                              else IconsGroupInfo.TYPE_CUSTOM)

                result.append(IconsGroupInfo(iconslist,
                                             title,
                                             cover,
                                             group_type=group_type,
                                             sort_key=os.path.basename))

        self._addRecentIconsGroup(result)
        eventParam = IconsGroupsListInitParams(result)
        self._application.onIconsGroupsListInit(self._page, eventParam)

        return eventParam.groupsList
Example #8
0
    def testAddIcons_19_resize(self):
        files = ['16x16.png',
                 '16x15.png',
                 '16x17.png',
                 '15x16.png',
                 '17x16.png',
                 '17x17.png',
                 '15x15.png',
                 '8x8.png',
                 '8x16.png',
                 '16x8.png',
                 'first.png',
                 'first_vertical.png']

        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)
        collection.addIcons(None, fullPaths)

        icons = sorted(collection.getIcons(None))
        self.assertEqual(len(icons), 12)

        icons = {fname: os.path.join(self.tempDir1, fname) for fname in files}

        for fname in files:
            self.assertEqual(getImageSize(icons[fname]), (16, 16))
Example #9
0
    def _getGroupsInfo(self):
        result = []

        for n, path in enumerate(getIconsDirList()):
            # First None is root directory
            collection = IconsCollection(path)
            for groupname in [None] + sorted(collection.getGroups(), key=self._localize):
                # Get group name
                if groupname is None:
                    title = _(u'Not in groups')
                else:
                    title = self._localize(groupname)

                if n != 0:
                    title += u' *'

                iconslist = collection.getIcons(groupname)
                cover = collection.getCover(groupname)
                result.append(IconsGroupInfo(iconslist,
                                             title,
                                             cover,
                                             sort_key=os.path.basename))

        self._addRecentIconsGroup(result)
        return result
Example #10
0
    def testRenameGroup_04_self(self):
        files = [u'new.png', u'image_01.JPG']
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]
        os.mkdir(self.tempDir1)

        collection = IconsCollection(self.tempDir1)
        collection.addGroup(u'Новая группа')
        collection.addIcons(u'Новая группа', fullPaths)

        collection.renameGroup(u'Новая группа', u'Новая группа')
        self.assertEqual(collection.getGroups(), [u'Новая группа'])
        self.assertEqual(len(collection.getIcons(u'Новая группа')), 2)

        newcollection = IconsCollection(self.tempDir1)
        self.assertEqual(newcollection.getGroups(), [u'Новая группа'])
        self.assertEqual(len(newcollection.getIcons(u'Новая группа')), 2)
Example #11
0
    def testEmpty_02(self):
        collection = IconsCollection('../test/icons/Без иконок')

        self.assertEqual(collection.getIcons(None), [])
        self.assertEqual(collection.getGroups(), [])
        self.assertRaises(KeyError, collection.getIcons, 'Группа')
        self.assertRaises(KeyError, collection.getCover, 'Группа')
        self.assertIsNone(collection.getCover(''))
Example #12
0
    def testEmpty_01(self):
        collection = IconsCollection('testdata/icons/Без иконок')

        self.assertEqual(collection.getIcons(''), [])
        self.assertEqual(collection.getGroups(), [])
        self.assertRaises(KeyError, collection.getIcons, 'Группа')
        self.assertRaises(KeyError, collection.getCover, 'Группа')
        self.assertIsNone(collection.getCover(None))
Example #13
0
    def testEmpty_02(self):
        collection = IconsCollection(u'../test/icons/Без иконок')

        self.assertEqual(collection.getIcons(None), [])
        self.assertEqual(collection.getGroups(), [])
        self.assertRaises(KeyError, collection.getIcons, u'Группа')
        self.assertRaises(KeyError, collection.getCover, u'Группа')
        self.assertIsNone(collection.getCover(u''))
Example #14
0
    def testAddIcons_03_empty(self):
        files = []
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)

        collection.addIcons('', fullPaths)
        self.assertEqual(collection.getIcons(None), [])
Example #15
0
    def testAddIcons_03_empty(self):
        files = []
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)

        collection.addIcons(u'', fullPaths)
        self.assertEqual(collection.getIcons(None), [])
Example #16
0
    def testAddIcons_02_empty (self):
        files = []
        fullPaths = [os.path.join (self.imagesDir, fname) for fname in files]

        os.mkdir (self.tempDir1)
        collection = IconsCollection (self.tempDir1)
        collection.addGroup (u'Новая группа')

        collection.addIcons (u'Новая группа', fullPaths)
        self.assertEqual (collection.getIcons (u'Новая группа'), [])
Example #17
0
    def testAddIcons_02_empty(self):
        files = []
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)
        collection.addGroup('Новая группа')

        collection.addIcons('Новая группа', fullPaths)
        self.assertEqual(collection.getIcons('Новая группа'), [])
Example #18
0
    def testAddIcons_06(self):
        files = [u'new.png']
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)

        collection.addIcons(None, fullPaths)

        icons = collection.getIcons(None)
        self.assertIn(u'new.png', icons[0])
Example #19
0
    def testAddIcons_06(self):
        files = ['new.png']
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)

        collection.addIcons(None, fullPaths)

        icons = collection.getIcons(None)
        self.assertIn('new.png', icons[0])
Example #20
0
    def testAddIcons_07 (self):
        files = [u'new.png', u'image_01.JPG']
        fullPaths = [os.path.join (self.imagesDir, fname) for fname in files]

        os.mkdir (self.tempDir1)
        collection = IconsCollection (self.tempDir1)

        collection.addIcons (None, fullPaths)

        icons = sorted (collection.getIcons (None))
        self.assertIn (u'image_01.png', icons[0])
        self.assertIn (u'new.png', icons[1])
Example #21
0
    def testAddIcons_07(self):
        files = ['new.png', 'image_01.JPG']
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)

        collection.addIcons(None, fullPaths)

        icons = sorted(collection.getIcons(None))
        self.assertIn('image_01.png', icons[0])
        self.assertIn('new.png', icons[1])
Example #22
0
    def testAddIcons_16_invalid(self):
        files = [u'invalid.png']
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        groupname = u'Новая группа'

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)
        collection.addGroup(groupname)

        collection.addIcons(groupname, fullPaths)

        icons = sorted(collection.getIcons(groupname))
        self.assertEqual(len(icons), 0)
Example #23
0
    def testAddIcons_16_invalid(self):
        files = ['invalid.png']
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        groupname = 'Новая группа'

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)
        collection.addGroup(groupname)

        collection.addIcons(groupname, fullPaths)

        icons = sorted(collection.getIcons(groupname))
        self.assertEqual(len(icons), 0)
Example #24
0
    def testAddIcons_13(self):
        files = ['__sample.png']
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        groupname = 'Новая группа'

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)
        collection.addGroup(groupname)

        collection.addIcons(groupname, fullPaths)

        icons = sorted(collection.getIcons(groupname))
        self.assertEqual(len(icons), 1)
        self.assertNotIn('__sample.png', icons[0])
        self.assertIn('sample.png', icons[0])
Example #25
0
    def testAddIcons_10_not_exists(self):
        files = ['new.png', 'image_01.JPG', 'notexists.png']
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        groupname = 'Новая группа'

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)
        collection.addGroup(groupname)

        collection.addIcons(groupname, fullPaths)

        icons = sorted(collection.getIcons(groupname))
        self.assertEqual(len(icons), 2)
        self.assertIn('image_01.png', icons[0])
        self.assertIn('new.png', icons[1])
Example #26
0
    def testAddIcons_11 (self):
        files = [u'new.png', u'new.png']
        fullPaths = [os.path.join (self.imagesDir, fname) for fname in files]

        groupname = u'Новая группа'

        os.mkdir (self.tempDir1)
        collection = IconsCollection (self.tempDir1)
        collection.addGroup (groupname)

        collection.addIcons (groupname, fullPaths)

        icons = sorted (collection.getIcons (groupname))
        self.assertEqual (len (icons), 2)
        self.assertIn (u'new.png', icons[0])
        self.assertIn (u'new_(1).png', icons[1])
Example #27
0
    def testAddIcons_13(self):
        files = [u'__sample.png']
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        groupname = u'Новая группа'

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)
        collection.addGroup(groupname)

        collection.addIcons(groupname, fullPaths)

        icons = sorted(collection.getIcons(groupname))
        self.assertEqual(len(icons), 1)
        self.assertNotIn(u'__sample.png', icons[0])
        self.assertIn(u'sample.png', icons[0])
Example #28
0
    def testAddIcons_10_not_exists(self):
        files = [u'new.png', u'image_01.JPG', u'notexists.png']
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        groupname = u'Новая группа'

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)
        collection.addGroup(groupname)

        collection.addIcons(groupname, fullPaths)

        icons = sorted(collection.getIcons(groupname))
        self.assertEqual(len(icons), 2)
        self.assertIn(u'image_01.png', icons[0])
        self.assertIn(u'new.png', icons[1])
Example #29
0
    def testAddIcons_11(self):
        files = ['new.png', 'new.png']
        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        groupname = 'Новая группа'

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)
        collection.addGroup(groupname)

        collection.addIcons(groupname, fullPaths)

        icons = sorted(collection.getIcons(groupname))
        self.assertEqual(len(icons), 2)
        self.assertIn('new.png', icons[0])
        self.assertIn('new_(1).png', icons[1])
Example #30
0
    def testAddIcons_19_resize(self):
        files = [
            u'16x16.png', u'16x15.png', u'16x17.png', u'15x16.png',
            u'17x16.png', u'17x17.png', u'15x15.png', u'8x8.png', u'8x16.png',
            u'16x8.png', u'first.png', u'first_vertical.png'
        ]

        fullPaths = [os.path.join(self.imagesDir, fname) for fname in files]

        os.mkdir(self.tempDir1)
        collection = IconsCollection(self.tempDir1)
        collection.addIcons(None, fullPaths)

        icons = sorted(collection.getIcons(None))
        self.assertEqual(len(icons), 12)

        icons = {fname: os.path.join(self.tempDir1, fname) for fname in files}

        for fname in files:
            self.assertEqual(getImageSize(icons[fname]), (16, 16))
Example #31
0
    def testSingleRoot(self):
        collection = IconsCollection(u'../test/icons/Без групп')

        self.assertEqual(len(collection.getIcons(None)), 4)
        self.assertEqual(collection.getGroups(), [])
        self.assertTrue(collection.getCover(None).endswith(u'__cover.png'))
Example #32
0
    def testSingleRoot(self):
        collection = IconsCollection('../test/icons/Без групп')

        self.assertEqual(len(collection.getIcons(None)), 4)
        self.assertEqual(collection.getGroups(), [])
        self.assertTrue(collection.getCover(None).endswith('__cover.png'))