arz_api.models.category_object
1from requests import Response 2from typing import TYPE_CHECKING 3from arz_api.consts import MAIN_URL 4 5if TYPE_CHECKING: 6 from arz_api import ArizonaAPI 7 8 9class Category: 10 def __init__(self, API: 'ArizonaAPI', id: int, title: str, pages_count: int) -> None: 11 self.API = API 12 self.id = id 13 """**ID категории**""" 14 self.title = title 15 """**Название категории**""" 16 self.pages_count = pages_count 17 """**Количество страниц в категории**""" 18 self.url = f"{MAIN_URL}/forums/{self.id}/" 19 """Ссылка на объект""" 20 21 22 def create_thread(self, title: str, message_html: str, discussion_type: str = 'discussion', watch_thread: int = 1) -> Response: 23 """Создать тему в категории 24 25 Attributes: 26 title (str): Название темы 27 message_html (str): Содержание темы. Рекомендуется использование HTML 28 discussion_type (str): - Тип темы | Возможные варианты: 'discussion' - обсуждение (по умолчанию), 'article' - статья, 'poll' - опрос (необяз.) 29 watch_thread (str): - Отслеживать ли тему. По умолчанию True (необяз.) 30 31 Returns: 32 Объект Response модуля requests 33 34 Todo: 35 Cделать возврат ID новой темы 36 """ 37 38 return self.API.create_thread(self.id, title, message_html, discussion_type, watch_thread) 39 40 41 def get_parent_category(self) -> 'Category': 42 """Получить родительский раздел 43 44 Attributes: 45 thread_id (int): ID темы 46 47 Returns: 48 Объект Catrgory, в котормо создана тема 49 """ 50 51 return self.API.get_parent_category_of_category(self.id) 52 53 54 def set_read(self) -> Response: 55 """Отметить категорию как прочитанную 56 57 Returns: 58 Объект Response модуля requests 59 """ 60 61 return self.API.set_read_category(self.id) 62 63 64 def watch(self, notify: str, send_alert: bool = True, send_email: bool = False, stop: bool = False) -> Response: 65 """Настроить отслеживание категории 66 67 Attributes: 68 notify (str): Объект отслеживания. Возможные варианты: "thread", "message", "" 69 send_alert (bool): - Отправлять ли уведомления на форуме. По умолчанию True (необяз.) 70 send_email (bool): - Отправлять ли уведомления на почту. По умолчанию False (необяз.) 71 stop (bool): - Принудительное завершение отслеживания. По умолчанию False (необяз.) 72 73 Returns: 74 Объект Response модуля requests 75 """ 76 77 return self.API.watch_category(self.id, notify, send_alert, send_email, stop) 78 79 80 def get_threads(self, page: int = 1) -> dict: 81 """Получить темы из раздела 82 83 Attributes: 84 page (int): Cтраница для поиска. По умолчанию 1 (необяз.) 85 86 Returns: 87 Словарь (dict), состоящий из списков закрепленных ('pins') и незакрепленных ('unpins') тем 88 """ 89 90 return self.API.get_threads(self.id, page) 91 92 93 def get_categories(self) -> list: 94 """Получить дочерние категории из раздела 95 96 Returns: 97 Список (list), состоящий из ID дочерних категорий раздела 98 """ 99 100 return self.API.get_categories(self.id)
class
Category:
10class Category: 11 def __init__(self, API: 'ArizonaAPI', id: int, title: str, pages_count: int) -> None: 12 self.API = API 13 self.id = id 14 """**ID категории**""" 15 self.title = title 16 """**Название категории**""" 17 self.pages_count = pages_count 18 """**Количество страниц в категории**""" 19 self.url = f"{MAIN_URL}/forums/{self.id}/" 20 """Ссылка на объект""" 21 22 23 def create_thread(self, title: str, message_html: str, discussion_type: str = 'discussion', watch_thread: int = 1) -> Response: 24 """Создать тему в категории 25 26 Attributes: 27 title (str): Название темы 28 message_html (str): Содержание темы. Рекомендуется использование HTML 29 discussion_type (str): - Тип темы | Возможные варианты: 'discussion' - обсуждение (по умолчанию), 'article' - статья, 'poll' - опрос (необяз.) 30 watch_thread (str): - Отслеживать ли тему. По умолчанию True (необяз.) 31 32 Returns: 33 Объект Response модуля requests 34 35 Todo: 36 Cделать возврат ID новой темы 37 """ 38 39 return self.API.create_thread(self.id, title, message_html, discussion_type, watch_thread) 40 41 42 def get_parent_category(self) -> 'Category': 43 """Получить родительский раздел 44 45 Attributes: 46 thread_id (int): ID темы 47 48 Returns: 49 Объект Catrgory, в котормо создана тема 50 """ 51 52 return self.API.get_parent_category_of_category(self.id) 53 54 55 def set_read(self) -> Response: 56 """Отметить категорию как прочитанную 57 58 Returns: 59 Объект Response модуля requests 60 """ 61 62 return self.API.set_read_category(self.id) 63 64 65 def watch(self, notify: str, send_alert: bool = True, send_email: bool = False, stop: bool = False) -> Response: 66 """Настроить отслеживание категории 67 68 Attributes: 69 notify (str): Объект отслеживания. Возможные варианты: "thread", "message", "" 70 send_alert (bool): - Отправлять ли уведомления на форуме. По умолчанию True (необяз.) 71 send_email (bool): - Отправлять ли уведомления на почту. По умолчанию False (необяз.) 72 stop (bool): - Принудительное завершение отслеживания. По умолчанию False (необяз.) 73 74 Returns: 75 Объект Response модуля requests 76 """ 77 78 return self.API.watch_category(self.id, notify, send_alert, send_email, stop) 79 80 81 def get_threads(self, page: int = 1) -> dict: 82 """Получить темы из раздела 83 84 Attributes: 85 page (int): Cтраница для поиска. По умолчанию 1 (необяз.) 86 87 Returns: 88 Словарь (dict), состоящий из списков закрепленных ('pins') и незакрепленных ('unpins') тем 89 """ 90 91 return self.API.get_threads(self.id, page) 92 93 94 def get_categories(self) -> list: 95 """Получить дочерние категории из раздела 96 97 Returns: 98 Список (list), состоящий из ID дочерних категорий раздела 99 """ 100 101 return self.API.get_categories(self.id)
Category(API: arz_api.api.ArizonaAPI, id: int, title: str, pages_count: int)
11 def __init__(self, API: 'ArizonaAPI', id: int, title: str, pages_count: int) -> None: 12 self.API = API 13 self.id = id 14 """**ID категории**""" 15 self.title = title 16 """**Название категории**""" 17 self.pages_count = pages_count 18 """**Количество страниц в категории**""" 19 self.url = f"{MAIN_URL}/forums/{self.id}/" 20 """Ссылка на объект"""
def
create_thread( self, title: str, message_html: str, discussion_type: str = 'discussion', watch_thread: int = 1) -> requests.models.Response:
23 def create_thread(self, title: str, message_html: str, discussion_type: str = 'discussion', watch_thread: int = 1) -> Response: 24 """Создать тему в категории 25 26 Attributes: 27 title (str): Название темы 28 message_html (str): Содержание темы. Рекомендуется использование HTML 29 discussion_type (str): - Тип темы | Возможные варианты: 'discussion' - обсуждение (по умолчанию), 'article' - статья, 'poll' - опрос (необяз.) 30 watch_thread (str): - Отслеживать ли тему. По умолчанию True (необяз.) 31 32 Returns: 33 Объект Response модуля requests 34 35 Todo: 36 Cделать возврат ID новой темы 37 """ 38 39 return self.API.create_thread(self.id, title, message_html, discussion_type, watch_thread)
Создать тему в категории
Attributes:
- title (str): Название темы
- message_html (str): Содержание темы. Рекомендуется использование HTML
- discussion_type (str): - Тип темы | Возможные варианты: 'discussion' - обсуждение (по умолчанию), 'article' - статья, 'poll' - опрос (необяз.)
- watch_thread (str): - Отслеживать ли тему. По умолчанию True (необяз.)
Returns:
Объект Response модуля requests
Todo:
Cделать возврат ID новой темы
42 def get_parent_category(self) -> 'Category': 43 """Получить родительский раздел 44 45 Attributes: 46 thread_id (int): ID темы 47 48 Returns: 49 Объект Catrgory, в котормо создана тема 50 """ 51 52 return self.API.get_parent_category_of_category(self.id)
Получить родительский раздел
Attributes:
- thread_id (int): ID темы
Returns:
Объект Catrgory, в котормо создана тема
def
set_read(self) -> requests.models.Response:
55 def set_read(self) -> Response: 56 """Отметить категорию как прочитанную 57 58 Returns: 59 Объект Response модуля requests 60 """ 61 62 return self.API.set_read_category(self.id)
Отметить категорию как прочитанную
Returns:
Объект Response модуля requests
def
watch( self, notify: str, send_alert: bool = True, send_email: bool = False, stop: bool = False) -> requests.models.Response:
65 def watch(self, notify: str, send_alert: bool = True, send_email: bool = False, stop: bool = False) -> Response: 66 """Настроить отслеживание категории 67 68 Attributes: 69 notify (str): Объект отслеживания. Возможные варианты: "thread", "message", "" 70 send_alert (bool): - Отправлять ли уведомления на форуме. По умолчанию True (необяз.) 71 send_email (bool): - Отправлять ли уведомления на почту. По умолчанию False (необяз.) 72 stop (bool): - Принудительное завершение отслеживания. По умолчанию False (необяз.) 73 74 Returns: 75 Объект Response модуля requests 76 """ 77 78 return self.API.watch_category(self.id, notify, send_alert, send_email, stop)
Настроить отслеживание категории
Attributes:
- notify (str): Объект отслеживания. Возможные варианты: "thread", "message", ""
- send_alert (bool): - Отправлять ли уведомления на форуме. По умолчанию True (необяз.)
- send_email (bool): - Отправлять ли уведомления на почту. По умолчанию False (необяз.)
- stop (bool): - Принудительное завершение отслеживания. По умолчанию False (необяз.)
Returns:
Объект Response модуля requests
def
get_threads(self, page: int = 1) -> dict:
81 def get_threads(self, page: int = 1) -> dict: 82 """Получить темы из раздела 83 84 Attributes: 85 page (int): Cтраница для поиска. По умолчанию 1 (необяз.) 86 87 Returns: 88 Словарь (dict), состоящий из списков закрепленных ('pins') и незакрепленных ('unpins') тем 89 """ 90 91 return self.API.get_threads(self.id, page)
Получить темы из раздела
Attributes:
- page (int): Cтраница для поиска. По умолчанию 1 (необяз.)
Returns:
Словарь (dict), состоящий из списков закрепленных ('pins') и незакрепленных ('unpins') тем
def
get_categories(self) -> list:
94 def get_categories(self) -> list: 95 """Получить дочерние категории из раздела 96 97 Returns: 98 Список (list), состоящий из ID дочерних категорий раздела 99 """ 100 101 return self.API.get_categories(self.id)
Получить дочерние категории из раздела
Returns:
Список (list), состоящий из ID дочерних категорий раздела