{{ self.title() }}
{% if label_languages %}Label from: @@ -179,8 +203,6 @@ span.description { color: rgb(96, 96, 96); } {% endif %}
diff --git a/depicts/mediawiki_category.py b/depicts/mediawiki_category.py new file mode 100644 index 0000000..ea10dd8 --- /dev/null +++ b/depicts/mediawiki_category.py @@ -0,0 +1,27 @@ +from .category import Category +from .mediawiki import mediawiki_query +from .type import CallParams + + +def process_cats(cats: list[dict[str, str]], site: str) -> list[Category]: + """Process categories.""" + return [Category(cat["title"], site) for cat in cats] + + +def get_categories(titles: list[str], site: str) -> list[tuple[str, list[Category]]]: + """Get categories for pages with given titles.""" + params: CallParams = { + "prop": "categories", + "clshow": "!hidden", + "cllimit": "max", + } + from_wiki = mediawiki_query(titles, params, site) + title_and_cats = [] + for i in from_wiki: + if "categories" not in i: + continue + cats = process_cats(i["categories"], site) + if not cats: + continue + title_and_cats.append((i["title"], cats)) + return title_and_cats diff --git a/templates/base.html b/templates/base.html index cc7c9f6..66a0fd2 100644 --- a/templates/base.html +++ b/templates/base.html @@ -2,7 +2,7 @@
- +Label from: @@ -179,8 +203,6 @@ span.description { color: rgb(96, 96, 96); } {% endif %}