comment.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from sql.comment import read_comment_list, create_comment, get_user_comment_count, delete_comment, read_comment
  2. import object.user
  3. import object.blog
  4. def load_comment_list(blog_id: int):
  5. ret = []
  6. for i in read_comment_list(blog_id):
  7. ret.append(Comment(i))
  8. return ret
  9. class _Comment:
  10. @staticmethod
  11. def get_user_comment_count(auth: "object.user"):
  12. return get_user_comment_count(auth.id)
  13. @staticmethod
  14. def create(blog: "object.blog.BlogArticle", auth: "object.user.User", content):
  15. return create_comment(blog.id, auth.id, content)
  16. class Comment(_Comment):
  17. def __init__(self, comment_id):
  18. self.id = comment_id
  19. @property
  20. def info(self):
  21. return read_comment(self.id)
  22. @property
  23. def blog(self):
  24. return object.blog.BlogArticle(self.info[0])
  25. @property
  26. def auth(self):
  27. return object.user.User(self.info[1])
  28. @property
  29. def content(self):
  30. return self.info[2]
  31. @property
  32. def update_time(self):
  33. return self.info[3]
  34. def is_delete(self):
  35. return not self.auth.is_authenticated and self.blog.is_delete and len(self.content) != 0
  36. def delete(self):
  37. return delete_comment(self.id)