From bb8a48fd4d85ba4f8224c68aaaf9069d5d79dae2 Mon Sep 17 00:00:00 2001 From: mia Date: Wed, 4 Sep 2024 04:47:13 -0700 Subject: desktop changes --- ty.py | 61 ------------------------------------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 ty.py (limited to 'ty.py') diff --git a/ty.py b/ty.py deleted file mode 100644 index e17c046..0000000 --- a/ty.py +++ /dev/null @@ -1,61 +0,0 @@ -from dataclasses import dataclass -from typing import List, Callable -from datetime import datetime -from enum import Enum - -class Visibility(Enum): - public = 1 - unlisted = 2 - followers = 3 - direct = 4 - - @classmethod - def from_db(cls, raw: str) -> "Visibility": - match raw: - case "public": return cls.public - case "home": return cls.unlisted - case "followers": return cls.followers - case "specified": return cls.direct - case _: raise ValueError(f"unknown visibility `{raw}`") - - -@dataclass -class FilterableNote: - id: str - mine: bool - replies: List["FilterableNote"] - quotes: List["FilterableNote"] - when: datetime - reactions: int - renotes: int - visibility: Visibility - - def thread(self) -> List["FilterableNote"]: - acc = [] - for reply in self.replies: - acc += reply.thread() - for quote in self.quotes: - acc += quote.thread() - acc.append(self) - return acc - - def thread_self(self) -> List["FilterableNote"]: - acc = [] - for reply in self.replies: - acc += reply.thread_self() - for quote in self.quotes: - acc += quote.thread_self() - if self.mine: - acc.append(self) - return acc - - def to_dict(self): - return { - "id": self.id, - "mine": self.mine, - "replies": [note.to_dict() for note in self.replies], - "quotes": [note.to_dict() for note in self.quotes], - "when": self.when.isoformat(), - "reactions": self.reactions, - "renotes": self.renotes, - } -- cgit 1.4.1