1
0

archive.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from sql import db
  2. from typing import Optional
  3. def create_archive(name: str, describe: str):
  4. """ 创建新归档 """
  5. cur = db.insert(table="archive",
  6. columns=["Name", "DescribeText"],
  7. values=f"'{name}', '{describe}'")
  8. if cur is None or cur.rowcount == 0:
  9. return False
  10. return True
  11. def read_archive(blog_id: int):
  12. """ 获取文章的归档 """
  13. cur = db.search(columns=["ArchiveID", "ArchiveName", "DescribeText"], table="blog_archive_with_name",
  14. where=f"BlogID={blog_id}")
  15. if cur is None or cur.rowcount == 0:
  16. return []
  17. return cur.fetchall()
  18. def delete_archive(archive_id: int):
  19. cur = db.delete(table="blog_archive", where=f"ArchiveID={archive_id}")
  20. if cur is None:
  21. return False
  22. cur = db.delete(table="archive", where=f"ID={archive_id}")
  23. if cur is None or cur.rowcount == 0:
  24. return False
  25. return True
  26. def get_archive_list(limit: Optional[int] = None, offset: Optional[int] = None):
  27. """ 获取归档列表 """
  28. cur = db.search(columns=["ID", "Name", "DescribeText", "Count"], table="archive_with_count",
  29. limit=limit,
  30. offset=offset)
  31. if cur is None or cur.rowcount == 0:
  32. return []
  33. return cur.fetchall()
  34. def get_archive_name_by_id(archive_id: int):
  35. """ 获取归档 ID """
  36. cur = db.search(columns=["Name", "DescribeText"], table="archive",
  37. where=f"ID={archive_id}")
  38. if cur is None or cur.rowcount == 0:
  39. return None, None
  40. return cur.fetchone()