1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- from collections import namedtuple
- import sql.blog # 不用 from import 避免循环导入
- from sql.archive import (read_archive,
- create_archive,
- get_archive_list,
- get_blog_archive,
- delete_archive,
- add_blog_to_archive,
- sub_blog_from_archive)
- from sql.statistics import get_archive_click
- class _Archive:
- archive_tuple = namedtuple('Archive', 'name describe')
- @staticmethod
- def get_archive_list():
- ret = []
- for i in get_archive_list():
- ret.append(Archive(i))
- return ret
- @staticmethod
- def get_blog_archive(blog_id: int):
- archive_list = []
- for i in get_blog_archive(blog_id):
- archive_list.append(Archive(i))
- return archive_list
- @staticmethod
- def create(name, describe):
- ret = create_archive(name, describe)
- if ret is None:
- return None
- return Archive(ret)
- class Archive(_Archive):
- def __init__(self, archive_id):
- self.id = archive_id
- @property
- def info(self):
- return Archive.archive_tuple(*read_archive(self.id))
- @property
- def name(self):
- return self.info.name
- @property
- def describe(self):
- return self.info.describe
- @property
- def count(self):
- return sql.blog.get_archive_blog_count(self.id)
- @property
- def clicks(self):
- return get_archive_click(self.id)
- def is_delete(self):
- return len(self.name) != 0
- def delete(self):
- return delete_archive(self.id)
- def add_blog(self, blog_id: int):
- add_blog_to_archive(blog_id, self.id)
- def sub_blog(self, blog_id: int):
- sub_blog_from_archive(blog_id, self.id)
|