file.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from sql import db
  2. from typing import Optional
  3. def create_file(name: str, describe: str):
  4. """ 创建新归档 """
  5. cur = db.insert(table="file",
  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_file(blog_id: int):
  12. """ 获取文章的归档 """
  13. cur = db.search(columns=["FileID", "FileName", "DescribeText"], table="blog_file_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_file(file_id: int):
  19. cur = db.delete(table="blog_file", where=f"FileID={file_id}")
  20. if cur is None:
  21. return False
  22. cur = db.delete(table="file", where=f"ID={file_id}")
  23. if cur is None or cur.rowcount == 0:
  24. return False
  25. return True
  26. def get_file_list(limit: Optional[int] = None, offset: Optional[int] = None):
  27. """ 获取归档列表 """
  28. cur = db.search(columns=["ID", "Name", "DescribeText", "Count"], table="file_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_file_id_by_name(name: str):
  35. """ 获取归档 ID """
  36. cur = db.search(columns=["ID", "DescribeText"], table="file",
  37. where=f"Name='{name}'")
  38. if cur is None or cur.rowcount == 0:
  39. return None, None
  40. return cur.fetchone()