def compute_category_induced(): category = mw_util.str2cat(request.form['category']) try: ci = category_induced.CategoryInduced(category) ci.categories = ci.list_category() first_images = [ci.first_image(x) for x in ci.categories] first_images.sort() categories_count = len(first_images) images = [x.decode('utf-8')[5:].replace(" ", "_") for x in ci.list_images()] images_count = len(images) result = [first_images[x][0] for x in range(len(first_images)) if (len(first_images[x][1]) > 0 and first_images[x][1][0] in images)] result.sort() results_count = len(result) categories_traversed_count = len(first_images) contents = '\n'.join(result) return render_template('category-induced-result.html', category=category, images_count=images_count, categories_count=categories_count, results_count=results_count, contents=contents) except Exception, e: return render_template('error.html', message=e)
def test_str2cat(self): """Test str2cat.""" values = [ ('A', 'Category:A'), ('Category:B', 'Category:B'), ('C D', 'Category:C_D'), ] for value, expected in values: self.assertEqual(str2cat(value), expected)
def compute_category_induced(): """Compute the induced categories.""" category = mw_util.str2cat(request.form['category']) app.logger.info('CategoryInduced on %s' % (category)) try: ci = category_induced.CategoryInduced(category) ci.induce_categories() contents = '\n'.join(ci.result) return render_template('category-induced-result.html', category=category, images_count=ci.images_count, categories_count=ci.categories_traversed_count, results_count=ci.results_count, contents=contents) except Exception, e: return render_template('error.html', message=e)