swadhinbiswas day 5 · 2/10/2024
b4adfb2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from beanie import Document, Indexed
from typing import List,Any
class ArticleModel(Document):
title: str
owner: List[str]
filename:str
content:str
def __repr__(self) -> str:
return f"ArticleModel(title={self.title}, owner={self.owner})"
def __str__(self) -> str:
return self.__repr__()
def __eq__(self, other: Any) -> bool:
if isinstance(other, ArticleModel):
return self.title == other.title and self.owner == other.owner
return False
@property
def get_title(self):
return self.title
@property
def get_all_text(self):
return self.all_text
@property
def get_owner(self):
return self.owner
@property
def set_title(self, title):
self.title = title
@classmethod
async def get_article_by_title(cls, title: str):
return await cls.get(title=title)
async def get_article_by_owner(cls, owner: str):
return await cls.get(owner=owner)
async def get_article_by_text(cls, all_text: str):
return await cls.get(all_text=all_text)
async def get_article_by_title_and_owner(cls, title: str, owner: str):
return await cls.get(title=title, owner=owner)
async def get_article_by_title_and_text(cls, title: str, all_text: str):
return await cls.get(title=title, all_text=all_text)
async def get_article_by_owner_and_text(cls, owner: str, all_text: str):
return await cls.get(owner=owner, all_text=all_text)