| @@ -1,11 +1,11 @@ | |||||
| repos: | repos: | ||||
| - repo: https://github.com/astral-sh/ruff-pre-commit | - repo: https://github.com/astral-sh/ruff-pre-commit | ||||
| rev: v0.6.2 | |||||
| rev: v0.6.8 | |||||
| hooks: | hooks: | ||||
| - id: ruff | - id: ruff | ||||
| args: [--fix] | args: [--fix] | ||||
| - id: ruff-format | - id: ruff-format | ||||
| - repo: https://github.com/RobertCraigie/pyright-python | - repo: https://github.com/RobertCraigie/pyright-python | ||||
| rev: v1.1.377 | |||||
| rev: v1.1.383 | |||||
| hooks: | hooks: | ||||
| - id: pyright | - id: pyright | ||||
| @@ -68,7 +68,6 @@ target-version = "py311" | |||||
| [tool.ruff.lint] | [tool.ruff.lint] | ||||
| select = ["E4", "E7", "E9", "F", "I", "UP"] | select = ["E4", "E7", "E9", "F", "I", "UP"] | ||||
| ignore = ["F403"] | |||||
| [tool.ruff.lint.isort] | [tool.ruff.lint.isort] | ||||
| known-first-party = ["conftest"] | known-first-party = ["conftest"] | ||||
| @@ -41,9 +41,20 @@ of your :py:class:`~earwigbot.wiki.site.Site` (and thus, | |||||
| :py:class:`~earwigbot.wiki.user.User`) needs. | :py:class:`~earwigbot.wiki.user.User`) needs. | ||||
| """ | """ | ||||
| from earwigbot.wiki.category import * | |||||
| from earwigbot.wiki.constants import * | |||||
| from earwigbot.wiki.page import * | |||||
| from earwigbot.wiki.site import * | |||||
| from earwigbot.wiki.sitesdb import * | |||||
| from earwigbot.wiki.user import * | |||||
| __all__ = [ | |||||
| "Category", | |||||
| "Page", | |||||
| "Site", | |||||
| "SitesDB", | |||||
| "User", | |||||
| ] | |||||
| from earwigbot.wiki import constants | |||||
| from earwigbot.wiki.category import Category | |||||
| from earwigbot.wiki.constants import * # noqa: F403 | |||||
| from earwigbot.wiki.page import Page | |||||
| from earwigbot.wiki.site import Site | |||||
| from earwigbot.wiki.sitesdb import SitesDB | |||||
| from earwigbot.wiki.user import User | |||||
| __all__ += constants.__all__ | |||||
| @@ -57,6 +57,7 @@ __all__ = [ | |||||
| "NS_USER_TALK", | "NS_USER_TALK", | ||||
| "NS_USER", | "NS_USER", | ||||
| "USER_AGENT", | "USER_AGENT", | ||||
| "Service", | |||||
| ] | ] | ||||
| import platform | import platform | ||||
| @@ -90,6 +90,10 @@ class CopyvioChecker: | |||||
| def _exclusions_db(self) -> ExclusionsDB | None: | def _exclusions_db(self) -> ExclusionsDB | None: | ||||
| return self._config.get("exclusions_db") | return self._config.get("exclusions_db") | ||||
| @property | |||||
| def article_chain(self) -> MarkovChain: | |||||
| return self._article | |||||
| def _get_exclusion_callback(self) -> Callable[[str], bool] | None: | def _get_exclusion_callback(self) -> Callable[[str], bool] | None: | ||||
| if not self._exclusions_db: | if not self._exclusions_db: | ||||
| return None | return None | ||||
| @@ -139,6 +139,20 @@ class CopyvioSource: | |||||
| event.wait() | event.wait() | ||||
| class CheckResultMetadata: | |||||
| def __getattr__(self, key: str) -> Any: | |||||
| try: | |||||
| return self.__dict__[key] | |||||
| except KeyError: | |||||
| raise AttributeError(key) from None | |||||
| def __setattr__(self, key: str, val: Any) -> None: | |||||
| self.__dict__[key] = val | |||||
| def __delattr__(self, key: str) -> None: | |||||
| del self.__dict__[key] | |||||
| class CopyvioCheckResult: | class CopyvioCheckResult: | ||||
| """ | """ | ||||
| **EarwigBot: Wiki Toolset: Copyvio Check Result** | **EarwigBot: Wiki Toolset: Copyvio Check Result** | ||||
| @@ -177,6 +191,7 @@ class CopyvioCheckResult: | |||||
| self.possible_miss = possible_miss | self.possible_miss = possible_miss | ||||
| self.included_sources = included_sources if included_sources else [] | self.included_sources = included_sources if included_sources else [] | ||||
| self.unified_confidence = unified_confidence | self.unified_confidence = unified_confidence | ||||
| self.metadata = CheckResultMetadata() # Additional metadata for web tool | |||||
| def __repr__(self) -> str: | def __repr__(self) -> str: | ||||
| """Return the canonical string representation of the result.""" | """Return the canonical string representation of the result.""" | ||||