archive.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. from sql.archive import (read_archive,
  2. create_archive,
  3. get_archive_list,
  4. get_blog_archive,
  5. delete_archive,
  6. add_blog_to_archive,
  7. sub_blog_from_archive)
  8. class _Archive:
  9. @staticmethod
  10. def get_archive_list():
  11. return get_archive_list()
  12. @staticmethod
  13. def get_blog_archive(blog_id: int):
  14. archive = get_blog_archive(blog_id)
  15. archive_list = []
  16. for i in archive:
  17. archive_list.append(Archive(i[1]))
  18. return archive_list
  19. @staticmethod
  20. def create(name, describe):
  21. ret = create_archive(name, describe)
  22. if ret is None:
  23. return None
  24. return Archive(ret)
  25. class Archive(_Archive):
  26. def __init__(self, archive_id):
  27. self.id = archive_id
  28. @property
  29. def info(self):
  30. return read_archive(self.id)
  31. @property
  32. def name(self):
  33. return self.info[0]
  34. @property
  35. def describe(self):
  36. return self.info[1]
  37. def is_delete(self):
  38. return len(self.name) != 0
  39. def delete(self):
  40. return delete_archive(self.id)
  41. def add_blog(self, blog_id: int):
  42. add_blog_to_archive(blog_id, self.id)
  43. def sub_blog(self, blog_id: int):
  44. sub_blog_from_archive(blog_id, self.id)