def _render(self, formatter, cols, name_pat, size, header, limit): #noinspection PyArgumentList icon = Icons(self.env) icon_dir = icon.icon_location(size)[1] files = fnmatch.filter(os.listdir(icon_dir), '%s.png' % name_pat) icon_names = [os.path.splitext(p)[0] for p in files] if limit: displayed_icon_names = reduce_names(icon_names, limit) else: displayed_icon_names = icon_names icon_table = render_table(displayed_icon_names, cols, lambda name: icon._render_icon(formatter, name, size)) if not len(icon_names): message = 'No %s icon matches %s' % (SIZE_DESCR[size], name_pat) elif len(icon_names) == 1: message = 'Showing the only %s icon matching %s' % \ (SIZE_DESCR[size], name_pat) elif len(displayed_icon_names) == len(icon_names): message = 'Showing all %d %s icons matching %s' % \ (len(icon_names), SIZE_DESCR[size], name_pat) else: message = 'Showing %d of %d %s icons matching %s' % \ (len(displayed_icon_names), len(icon_names), SIZE_DESCR[size], name_pat) return tag.div(tag.p(tag.small(message)) if header else '', icon_table)
def _render(self, formatter, cols, name_pat, size, header, limit): #noinspection PyArgumentList icon = Icons(self.env) icon_dir = icon.icon_location(size)[1] files = fnmatch.filter(os.listdir(icon_dir), '%s.png' % name_pat) icon_names = [os.path.splitext(p)[0] for p in files] if limit: displayed_icon_names = reduce_names(icon_names, limit) else: displayed_icon_names = icon_names icon_table = render_table( displayed_icon_names, cols, lambda name: icon._render_icon(formatter, name, size)) if not len(icon_names): message = 'No %s icon matches %s' % (SIZE_DESCR[size], name_pat) elif len(icon_names) == 1: message = 'Showing the only %s icon matching %s' % \ (SIZE_DESCR[size], name_pat) elif len(displayed_icon_names) == len(icon_names): message = 'Showing all %d %s icons matching %s' % \ (len(icon_names), SIZE_DESCR[size], name_pat) else: message = 'Showing %d of %d %s icons matching %s' % \ (len(displayed_icon_names), len(icon_names), SIZE_DESCR[size], name_pat) return tag.div(tag.p(tag.small(message)) if header else '', icon_table)
def test_95(self): # Same as docstring names = ['a', 'aa', 'aaa', 'b', 'bb'] result = reduce_names(names, 0) result.sort() expect = [] self.assertEqual(result, expect)
def test_50(self): icon_dir = FUGUE_ICONS[False]['S'] files = fnmatch.filter(os.listdir(icon_dir), '*.png') names = [os.path.splitext(p)[0] for p in files] names.sort() expect = names result = reduce_names(names, len(names)) result.sort() self.assertEqual(result, expect)
def test_51(self): icon_dir = FUGUE_ICONS[False]['S'] files = fnmatch.filter(os.listdir(icon_dir), '*.png') names = [os.path.splitext(p)[0] for p in files] names.sort() keep = 40 kept = 0 result = reduce_names(names, keep) for name in names: if name not in result: # print '%s%s' % (' '*8, name) pass else: # print name kept += 1 # print '\nKept %d names' % kept self.assertEqual(kept, keep)
def test_00(self): names = [] expect = names result = reduce_names(names, 0) self.assertEqual(result, expect)
def test_40(self): names = ['a', 'aa', 'ab', 'b', 'bb', 'bc', 'bca'] result = reduce_names(names, len(names)) result.sort() expect = names self.assertEqual(result, expect)
def test_47(self): names = ['a', 'aa', 'ab', 'b', 'bb', 'bc', 'bca'] result = reduce_names(names, 0) result.sort() expect = [] self.assertEqual(result, expect)
def test_32(self): names = ['a', 'aa', 'ab'] result = reduce_names(names, 2) result.sort() expect = ['a', 'aa'] self.assertEqual(result, expect)
def test_11(self): names = ['a'] result = reduce_names(names, 0) expect = [] self.assertEqual(result, expect)
def test_10(self): names = ['a'] result = reduce_names(names, len(names)) expect = names self.assertEqual(result, expect)
def test_03(self): names = [''] expect = names result = reduce_names(names, 1) self.assertEqual(result, expect)
def test_02(self): names = [''] expect = [] result = reduce_names(names, 0) self.assertEqual(result, expect)