Source code for revscoring.features.wikitext.features.revision_oriented

from revscoring.dependencies import DependentSet

from . import chars, edit_tokens, parsed, tokenized

prefix = "wikitext.revision"


class BaseRevision(DependentSet):

    def __init__(self, name, revision_datasources):
        super().__init__(name)
        self.datasources = revision_datasources

        if hasattr(self.datasources, "parent"):
            self.parent = Revision(
                name + ".parent",
                self.datasources.parent
            )
            """
            :class:`revscoring.features.wikitext.Revision` : The
            parent (aka "previous") revision of the page.
            """

        if hasattr(self.datasources, "diff"):
            self.diff = Diff(
                name + ".diff",
                self.datasources.diff
            )
            """
            :class:`~revscoring.features.wikitext.Diff` : The
            difference between this revision and the parent revision.
            """


[docs]class Revision(parsed.Revision, chars.Revision, tokenized.Revision, BaseRevision): pass
class BaseDiff(DependentSet): def __init__(self, name, diff_datasources, *args, **kwargs): super().__init__(name) self.datasources = diff_datasources
[docs]class Diff(chars.Diff, edit_tokens.Diff, tokenized.Diff, BaseDiff): pass