1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- from collections import namedtuple
- from datetime import datetime
- from sql.comment import read_comment_list, create_comment, get_user_comment_count, delete_comment, read_comment
- import object.user
- import object.blog
- def load_comment_list(blog_id: int):
- ret = []
- for i in read_comment_list(blog_id):
- ret.append(Comment(i))
- return ret
- class _Comment:
- comment_tuple = namedtuple("Comment", "blog email content update_time")
- @staticmethod
- def get_user_comment_count(auth: "object.user"):
- return get_user_comment_count(auth.id)
- @staticmethod
- def create(blog: "object.blog.BlogArticle", auth: "object.user.User", content):
- return create_comment(blog.id, auth.id, content)
- class Comment(_Comment):
- def __init__(self, comment_id):
- self.id = comment_id
- @property
- def info(self):
- return Comment.comment_tuple(*read_comment(self.id))
- @property
- def blog(self):
- return object.blog.BlogArticle(self.info.blog)
- @property
- def auth(self):
- return object.user.User(self.info.email)
- @property
- def content(self):
- return self.info.content
- @property
- def update_time(self):
- return datetime.utcfromtimestamp(datetime.timestamp(self.info.update_time))
- def is_delete(self):
- return not self.auth.is_authenticated and self.blog.is_delete and len(self.content) != 0
- def delete(self):
- return delete_comment(self.id)
|