From 2f17480add2b7c030c2d2ccfa5bfc01e560d6a8e Mon Sep 17 00:00:00 2001 From: Sean Breckenridge Date: Sun, 31 Oct 2021 14:04:19 -0700 Subject: [PATCH] Revert "reddit: specify attributes on all protocols" This reverts commit 995554cea9a3846555675910110f1ae4c71219df. --- my/reddit/common.py | 53 +++++---------------------------------------- 1 file changed, 5 insertions(+), 48 deletions(-) diff --git a/my/reddit/common.py b/my/reddit/common.py index a9be43e..c4a1f81 100644 --- a/my/reddit/common.py +++ b/my/reddit/common.py @@ -34,67 +34,24 @@ class RedditBase(Protocol): def text(self) -> str: ... -# TODO: is there some way to handle this with subclasses or inhering protocols? -# can't seem to figure it out - - # Note: doesn't include GDPR Save's since they don't have the same metadata -class Save(Protocol): - @property - def raw(self) -> Json: ... - @property - def created(self) -> datetime_aware: ... - @property - def id(self) -> str: ... - @property - def url(self) -> str: ... - @property - def text(self) -> str: ... +class Save(Protocol, RedditBase): @property def subreddit(self) -> str: ... # Note: doesn't include GDPR Upvote's since they don't have the same metadata -class Upvote(Protocol): - @property - def raw(self) -> Json: ... - @property - def created(self) -> datetime_aware: ... - @property - def id(self) -> str: ... - @property - def url(self) -> str: ... - @property - def text(self) -> str: ... +class Upvote(Protocol, RedditBase): @property def title(self) -> str: ... # From rexport, pushshift and the reddit GDPR export -class Comment(Protocol): - @property - def raw(self) -> Json: ... - @property - def created(self) -> datetime_aware: ... - @property - def id(self) -> str: ... - @property - def url(self) -> str: ... - @property - def text(self) -> str: ... +class Comment(Protocol, RedditBase): + pass # From rexport and the GDPR export -class Submission(Protocol): - @property - def raw(self) -> Json: ... - @property - def created(self) -> datetime_aware: ... - @property - def id(self) -> str: ... - @property - def url(self) -> str: ... - @property - def text(self) -> str: ... +class Submission(Protocol, RedditBase): @property def title(self) -> str: ...