Source code for kgdata.wikipedia.models.page_article

from typing import Optional
from dataclasses import dataclass

from kgdata.wikipedia.config import WikipediaConfig


[docs]@dataclass class WikiPageArticle: # Original schema: https://www.mediawiki.org/xml/export-0.10.xsd # properties of PageType # page.id id: int # page.ns ns: str # page.title title: str # page.redirect.title (since RedirectType only has title property), flag this current revision is a redirect redirect_title: Optional[str] # properties of revision # page.revision.model model: str # page.revision.format format: str # page.revision.text text: str @property def url(self): return f"{WikipediaConfig.WikiURL}/wiki/{self.title.replace(' ', '_')}?curid={self.id}"
[docs] @staticmethod def from_dict(o: dict): return WikiPageArticle( id=o["id"], ns=o["ns"], title=o["title"], redirect_title=o["redirect_title"], model=o["model"], format=o["format"], text=o["text"], )
[docs] def to_dict(self): return { "id": self.id, "ns": self.ns, "title": self.title, "redirect_title": self.redirect_title, "model": self.model, "format": self.format, "text": self.text, }