フォーラムモジュール

フォーラムカテゴリ

Wikidotフォーラムのカテゴリを扱うモジュール

このモジュールは、Wikidotサイトのフォーラムカテゴリに関連するクラスや機能を提供する。 フォーラムカテゴリの情報取得やスレッド一覧の取得などの操作が可能。

class wikidot.module.forum_category.ForumCategoryCollection(site=None, categories=None)[ソース]

ベースクラス: list[ForumCategory]

フォーラムカテゴリのコレクションを表すクラス

複数のフォーラムカテゴリを格納し、一括して操作するためのリスト拡張クラス。

パラメータ:
find(id)[ソース]

カテゴリIDでカテゴリを検索する

指定されたIDのカテゴリが存在する場合はそのカテゴリオブジェクトを返す。

パラメータ:

id (int) -- 検索するカテゴリのID

戻り値:

検索結果のカテゴリオブジェクト。見つからない場合はNone

戻り値の型:

ForumCategory | None

static acquire_all(site)[ソース]

サイトのすべてのフォーラムカテゴリを取得する

指定されたサイトのフォーラムページにアクセスし、 利用可能なすべてのカテゴリ情報を取得する。

パラメータ:

site (Site) -- カテゴリを取得するサイト

戻り値:

取得したフォーラムカテゴリのコレクション

戻り値の型:

ForumCategoryCollection

例外:

NoElementException -- 必要なHTML要素が見つからない場合

class wikidot.module.forum_category.ForumCategory(site, id, title, description, threads_count, posts_count, _threads=None)[ソース]

ベースクラス: object

Wikidotフォーラムのカテゴリを表すクラス

フォーラムカテゴリの基本情報とスレッド一覧へのアクセス機能を提供する。

パラメータ:
site

カテゴリが属するサイト

Type:

Site

id

カテゴリID

Type:

int

title

カテゴリのタイトル

Type:

str

description

カテゴリの説明文

Type:

str

threads_count

カテゴリ内のスレッド数

Type:

int

posts_count

カテゴリ内の投稿数

Type:

int

_threads

カテゴリ内のスレッドコレクション(内部キャッシュ用)

Type:

ForumThreadCollection | None

site: Site
id: int
title: str
description: str
threads_count: int
posts_count: int
property threads: ForumThreadCollection

カテゴリ内のスレッド一覧を取得する

スレッドリストが未取得の場合は自動的に取得処理を行う。

戻り値:

カテゴリ内のスレッドコレクション

戻り値の型:

ForumThreadCollection

reload_threads()[ソース]

カテゴリ内のスレッド一覧を再取得する

キャッシュを無視して最新のスレッド一覧を取得する。

戻り値:

最新のスレッドコレクション

戻り値の型:

ForumThreadCollection

create_thread(title, description, source)[ソース]

カテゴリ内に新しいスレッドを作成する

パラメータ:
  • title (str) -- スレッドのタイトル

  • description (str) -- スレッドの説明文

  • source (str) -- スレッドの本文(Wikidot記法)

戻り値:

作成したスレッドオブジェクト

戻り値の型:

ForumThread

フォーラムスレッド

Wikidotフォーラムのスレッドを扱うモジュール

このモジュールは、Wikidotサイトのフォーラムスレッドに関連するクラスや機能を提供する。 スレッドの情報取得や閲覧などの操作が可能。

class wikidot.module.forum_thread.ForumThreadCollection(site=None, threads=None)[ソース]

ベースクラス: list[ForumThread]

フォーラムスレッドのコレクションを表すクラス

複数のフォーラムスレッドを格納し、一括して操作するためのリスト拡張クラス。 特定のカテゴリ内のスレッド一覧を取得する機能などを提供する。

パラメータ:
find(id)[ソース]

指定したIDのスレッドを取得する

パラメータ:

id (int) -- 取得するスレッドのID

戻り値:

指定したIDのスレッド。存在しない場合はNone

戻り値の型:

ForumThread | None

static acquire_all_in_category(category)[ソース]

特定のカテゴリ内のすべてのスレッドを取得する

カテゴリページの各ページにアクセスし、すべてのスレッド情報を収集する。 ページネーションが存在する場合は、すべてのページを巡回する。

パラメータ:

category (ForumCategory) -- スレッドを取得するカテゴリ

戻り値:

カテゴリ内のすべてのスレッドを含むコレクション

戻り値の型:

ForumThreadCollection

例外:

NoElementException -- HTML要素の解析に失敗した場合

static acquire_from_thread_ids(site, thread_ids, category=None)[ソース]

指定されたスレッドIDのスレッド情報を取得する

指定されたスレッドIDのスレッド情報を取得し、コレクションとして返す。

パラメータ:
  • site (Site) -- スレッドが属するサイト

  • thread_ids (list[int]) -- 取得するスレッドのIDリスト

  • category (ForumCategory | None, default None) -- スレッドが属するカテゴリ(オプション)

戻り値:

取得したスレッド情報のコレクション

戻り値の型:

ForumThreadCollection

class wikidot.module.forum_thread.ForumThread(site, id, title, description, created_by, created_at, post_count, category=None)[ソース]

ベースクラス: object

Wikidotフォーラムのスレッドを表すクラス

フォーラムスレッドの基本情報を保持する。スレッドのタイトル、説明、 作成者、作成日時、投稿数などの情報を提供する。

パラメータ:
site

スレッドが属するサイト

Type:

Site

id

スレッドID

Type:

int

title

スレッドのタイトル

Type:

str

description

スレッドの説明または抜粋

Type:

str

created_by

スレッドの作成者

Type:

AbstractUser

created_at

スレッドの作成日時

Type:

datetime

post_count

スレッド内の投稿数

Type:

int

category

スレッドが属するフォーラムカテゴリ

Type:

ForumCategory | None, default None

site: Site
id: int
title: str
description: str
created_by: AbstractUser
created_at: datetime
post_count: int
category: Optional[ForumCategory] = None
property url: str

スレッドのURLを取得する

戻り値:

スレッドのURL

戻り値の型:

str

static get_from_id(site, thread_id, category=None)[ソース]

スレッドIDからスレッド情報を取得する

パラメータ:
  • site (Site) -- スレッドが属するサイト

  • thread_id (int) -- 取得するスレッドのID

  • category (ForumCategory | None, default None) -- スレッドが属するカテゴリ(オプション)

戻り値:

取得したスレッド情報

戻り値の型:

ForumThread

フォーラム投稿

Wikidotフォーラムの投稿を扱うモジュール

このモジュールは、Wikidotサイトのフォーラム投稿(スレッド内の各メッセージ)に関連する クラスや機能を提供する。投稿の情報取得や表示などの操作が可能。

class wikidot.module.forum_post.ForumPostCollection(thread=None, posts=None)[ソース]

ベースクラス: list[ForumPost]

フォーラム投稿のコレクションを表すクラス

フォーラムスレッド内の複数の投稿を格納し、一括して操作するためのリスト拡張クラス。

パラメータ:
find(id)[ソース]

指定したIDの投稿を取得する

パラメータ:

id (int) -- 取得する投稿のID

戻り値:

指定したIDの投稿。存在しない場合はNone

戻り値の型:

ForumPost | None

class wikidot.module.forum_post.ForumPost(thread, id, title, text, element, created_by, created_at, edited_by=None, edited_at=None, _parent=None, _source=None)[ソース]

ベースクラス: object

Wikidotフォーラムの投稿を表すクラス

フォーラムスレッド内の個別の投稿(メッセージ)に関する情報を保持する。 投稿のタイトル、本文、作成者、作成日時などの情報を提供する。

パラメータ:
thread

投稿が属するスレッド

Type:

ForumThread

id

投稿ID

Type:

int

title

投稿のタイトル

Type:

str

text

投稿の本文(HTMLテキスト)

Type:

str

element

投稿のHTML要素(解析用)

Type:

BeautifulSoup

created_by

投稿の作成者

Type:

AbstractUser

created_at

投稿の作成日時

Type:

datetime

edited_by

投稿の編集者(編集されていない場合はNone)

Type:

AbstractUser | None, default None

edited_at

投稿の編集日時(編集されていない場合はNone)

Type:

datetime | None, default None

_parent

親投稿(返信元の投稿)

Type:

ForumPost | None, default None

_source

投稿のソース(Wikidot記法)

Type:

str | None, default None

thread: ForumThread
id: int
title: str
text: str
element: BeautifulSoup
created_by: AbstractUser
created_at: datetime
edited_by: Optional[AbstractUser] = None
edited_at: Optional[datetime] = None

プライベートメッセージ

Wikidotのプライベートメッセージを扱うモジュール

このモジュールは、Wikidotのプライベートメッセージ(PM)に関連するクラスや機能を提供する。 メッセージの送信、受信箱・送信箱の取得、メッセージの閲覧などの操作が可能。

class wikidot.module.private_message.PrivateMessageCollection(iterable=(), /)[ソース]

ベースクラス: list[PrivateMessage]

プライベートメッセージのコレクションを表す基底クラス

複数のプライベートメッセージを格納し、一括して操作するためのリスト拡張クラス。 受信箱や送信箱など、特定のメッセージグループを表現するために継承される。

find(id)[ソース]

指定IDのメッセージを取得する

パラメータ:

id (int) -- 取得するメッセージのID

戻り値:

取得したメッセージオブジェクト。見つからない場合はNone

戻り値の型:

PrivateMessage | None

static from_ids(client, message_ids)[ソース]

メッセージIDのリストからメッセージオブジェクトのコレクションを取得する

指定されたIDのメッセージを一括で取得し、コレクションとして返す。

パラメータ:
  • client (Client) -- クライアントインスタンス

  • message_ids (list[int]) -- 取得するメッセージIDのリスト

戻り値:

取得したメッセージのコレクション

戻り値の型:

PrivateMessageCollection

例外:
class wikidot.module.private_message.PrivateMessageInbox(iterable=(), /)[ソース]

ベースクラス: PrivateMessageCollection

受信したプライベートメッセージのコレクションを表すクラス

受信箱内のプライベートメッセージを格納し、操作するための PrivateMessageCollectionの特殊化クラス。

static from_ids(client, message_ids)[ソース]

メッセージIDのリストから受信箱のメッセージコレクションを取得する

パラメータ:
  • client (Client) -- クライアントインスタンス

  • message_ids (list[int]) -- 取得するメッセージIDのリスト

戻り値:

受信箱メッセージのコレクション

戻り値の型:

PrivateMessageInbox

static acquire(client)[ソース]

ログイン中のユーザーの受信箱メッセージをすべて取得する

パラメータ:

client (Client) -- クライアントインスタンス

戻り値:

受信箱メッセージのコレクション

戻り値の型:

PrivateMessageInbox

例外:

LoginRequiredException -- ログインしていない場合

class wikidot.module.private_message.PrivateMessageSentBox(iterable=(), /)[ソース]

ベースクラス: PrivateMessageCollection

送信したプライベートメッセージのコレクションを表すクラス

送信箱内のプライベートメッセージを格納し、操作するための PrivateMessageCollectionの特殊化クラス。

static from_ids(client, message_ids)[ソース]

メッセージIDのリストから送信箱のメッセージコレクションを取得する

パラメータ:
  • client (Client) -- クライアントインスタンス

  • message_ids (list[int]) -- 取得するメッセージIDのリスト

戻り値:

送信箱メッセージのコレクション

戻り値の型:

PrivateMessageSentBox

static acquire(client)[ソース]

ログイン中のユーザーの送信箱メッセージをすべて取得する

パラメータ:

client (Client) -- クライアントインスタンス

戻り値:

送信箱メッセージのコレクション

戻り値の型:

PrivateMessageSentBox

例外:

LoginRequiredException -- ログインしていない場合

class wikidot.module.private_message.PrivateMessage(client, id, sender, recipient, subject, body, created_at)[ソース]

ベースクラス: object

Wikidotプライベートメッセージを表すクラス

ユーザー間でやりとりされるプライベートメッセージの情報を保持する。 メッセージの送信者、受信者、件名、本文などの基本情報を提供する。

パラメータ:
client

クライアントインスタンス

Type:

Client

id

メッセージID

Type:

int

sender

メッセージの送信者

Type:

AbstractUser

recipient

メッセージの受信者

Type:

AbstractUser

subject

メッセージの件名

Type:

str

body

メッセージの本文

Type:

str

created_at

メッセージの作成日時

Type:

datetime

client: Client
id: int
sender: AbstractUser
recipient: AbstractUser
subject: str
body: str
created_at: datetime
static from_id(client, message_id)[ソース]

メッセージIDからメッセージオブジェクトを取得する

パラメータ:
  • client (Client) -- クライアントインスタンス

  • message_id (int) -- 取得するメッセージID

戻り値:

取得したメッセージオブジェクト

戻り値の型:

PrivateMessage

例外:
static send(client, recipient, subject, body)[ソース]

プライベートメッセージを送信する

パラメータ:
  • client (Client) -- クライアントインスタンス

  • recipient (User) -- メッセージの受信者

  • subject (str) -- メッセージの件名

  • body (str) -- メッセージの本文

例外:

LoginRequiredException -- ログインしていない場合

戻り値の型:

None