Pin to python 3.9
Since our execution environment requires this Signed-off-by: Will Beason <willbeason@gmail.com>
This commit is contained in:
24
tables.py
24
tables.py
@@ -2,7 +2,7 @@ import sys
|
||||
from abc import abstractmethod, ABC
|
||||
from datetime import datetime, timezone
|
||||
from hashlib import sha1
|
||||
from typing import Generic, TypeVar
|
||||
from typing import Generic, TypeVar, Union
|
||||
|
||||
import mwreverts
|
||||
import mwtypes
|
||||
@@ -89,10 +89,10 @@ class RevisionArticleId(RevisionField[int]):
|
||||
return page.id
|
||||
|
||||
|
||||
class RevisionEditorId(RevisionField[int | None]):
|
||||
class RevisionEditorId(RevisionField[Union[int, None]]):
|
||||
field = pa.field("editorid", pa.int64(), nullable=True)
|
||||
|
||||
def extract(self, page: mwtypes.Page, revisions: list[mwxml.Revision]) -> int | None:
|
||||
def extract(self, page: mwtypes.Page, revisions: list[mwxml.Revision]) -> Union[int, None]:
|
||||
revision = revisions[-1]
|
||||
if revision.deleted.user:
|
||||
return None
|
||||
@@ -100,10 +100,10 @@ class RevisionEditorId(RevisionField[int | None]):
|
||||
return revision.user.id
|
||||
|
||||
|
||||
class RevisionIsAnon(RevisionField[bool | None]):
|
||||
class RevisionIsAnon(RevisionField[Union[bool, None]]):
|
||||
field = pa.field("anon", pa.bool_(), nullable=True)
|
||||
|
||||
def extract(self, page: mwtypes.Page, revisions: list[mwxml.Revision]) -> bool | None:
|
||||
def extract(self, page: mwtypes.Page, revisions: list[mwxml.Revision]) -> Union[bool, None]:
|
||||
revision = revisions[-1]
|
||||
if revision.deleted.user:
|
||||
return None
|
||||
@@ -111,10 +111,10 @@ class RevisionIsAnon(RevisionField[bool | None]):
|
||||
return revision.user.id is None
|
||||
|
||||
|
||||
class RevisionEditorText(RevisionField[str | None]):
|
||||
class RevisionEditorText(RevisionField[Union[str, None]]):
|
||||
field = pa.field("editor", pa.string(), nullable=True)
|
||||
|
||||
def extract(self, page: mwtypes.Page, revisions: list[mwxml.Revision]) -> str | None:
|
||||
def extract(self, page: mwtypes.Page, revisions: list[mwxml.Revision]) -> Union[str, None]:
|
||||
revision = revisions[-1]
|
||||
if revision.deleted.user:
|
||||
return None
|
||||
@@ -152,10 +152,10 @@ class RevisionSha1(RevisionField[str]):
|
||||
return revision.sha1
|
||||
|
||||
|
||||
class RevisionTextChars(RevisionField[int | None]):
|
||||
class RevisionTextChars(RevisionField[Union[int, None]]):
|
||||
field = pa.field("text_chars", pa.int32(), nullable=True)
|
||||
|
||||
def extract(self, page: mwtypes.Page, revisions: list[mwxml.Revision]) -> int | None:
|
||||
def extract(self, page: mwtypes.Page, revisions: list[mwxml.Revision]) -> Union[int, None]:
|
||||
revision = revisions[-1]
|
||||
if not revision.deleted.text:
|
||||
return len(revision.text)
|
||||
@@ -179,14 +179,14 @@ class RevisionIsMinor(RevisionField[bool]):
|
||||
return revision.minor
|
||||
|
||||
|
||||
class RevisionReverts(RevisionField[str | None]):
|
||||
class RevisionReverts(RevisionField[Union[str, None]]):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.rev_detector: mwreverts.Detector | None = None
|
||||
self.rev_detector: Union[mwreverts.Detector, None] = None
|
||||
|
||||
field = pa.field("reverteds", pa.string(), nullable=True)
|
||||
|
||||
def extract(self, page: mwtypes.Page, revisions: list[mwxml.Revision]) -> str | None:
|
||||
def extract(self, page: mwtypes.Page, revisions: list[mwxml.Revision]) -> Union[str, None]:
|
||||
if self.rev_detector is None:
|
||||
return None
|
||||
|
||||
|
||||
Reference in New Issue
Block a user