archive.py 984 B

1234567891011121314151617181920212223242526272829303132333435
  1. from typing import Optional
  2. from sql.archive import get_archive_id_by_name, create_archive, get_archive_list, read_archive, delete_archive
  3. def load_archive_by_name(name: str) -> "Optional[Archive]":
  4. archive_id, describe = get_archive_id_by_name(name)
  5. if archive_id is None:
  6. return None
  7. return Archive(name, describe, archive_id)
  8. class Archive:
  9. def __init__(self, name, describe, archive_id):
  10. self.name = name
  11. self.describe = describe
  12. self.archive_id = archive_id
  13. @staticmethod
  14. def get_archive_list():
  15. return get_archive_list()
  16. @staticmethod
  17. def get_blog_archive(blog_id: int):
  18. archive = read_archive(blog_id)
  19. archive_list = []
  20. for i in archive:
  21. archive_list.append(Archive(i[1], i[2], i[0]))
  22. return archive_list
  23. def create(self):
  24. return create_archive(self.name, self.describe)
  25. def delete(self):
  26. return delete_archive(self.archive_id)