「利用者:夜泣き/スクリプト」の版間の差分
ナビゲーションに移動
検索に移動
→コード: v4.1.12 バリデーション追加 長すぎて構文解析されないですね…クラス毎にファイルを分けるのが理想なのですが…
>Fet-Fe (→コード: v4.1.11 魚拓を探すときに日付が合わない問題を修正) |
>Fet-Fe (→コード: v4.1.12 バリデーション追加 長すぎて構文解析されないですね…クラス毎にファイルを分けるのが理想なのですが…) |
||
11行目: | 11行目: | ||
"""Twitter自動収集スクリプト | """Twitter自動収集スクリプト | ||
ver4.1. | ver4.1.12 2024/1/11恒心 | ||
当コードは恒心停止してしまった https://rentry.co/7298g の降臨ショーツイート自動収集スクリプトの復刻改善版です | 当コードは恒心停止してしまった https://rentry.co/7298g の降臨ショーツイート自動収集スクリプトの復刻改善版です | ||
141行目: | 141行目: | ||
"""``--search-unarchived`` オプションを付けたときに使用する設定値。 | """``--search-unarchived`` オプションを付けたときに使用する設定値。 | ||
""" | """ | ||
tweet_url_prefix_default: Final[str] = ' | tweet_url_prefix_default: Final[str] = '174' | ||
"""Final[str]: ツイートURLの数字部分のうち、予め固定しておく部分。 | """Final[str]: ツイートURLの数字部分のうち、予め固定しておく部分。 | ||
155行目: | 155行目: | ||
""" | """ | ||
incremented_num_default: Final[int] = | incremented_num_default: Final[int] = 3 | ||
"""Final[int]: ツイートURLの数字部分うち、インクリメントする桁のデフォルト値。 | """Final[int]: ツイートURLの数字部分うち、インクリメントする桁のデフォルト値。 | ||
1,040行目: | 1,040行目: | ||
"""コンストラクタ。 | """コンストラクタ。 | ||
""" | """ | ||
self. | self._check_constants() # スラッシュが抜けてないかチェック | ||
self._has_ffmpeg: Final[bool] = self._check_ffmpeg() # ffmpegがあるかチェック | self._has_ffmpeg: Final[bool] = self._check_ffmpeg() # ffmpegがあるかチェック | ||
1,122行目: | 1,122行目: | ||
return True | return True | ||
def | def _check_constants(self) -> None | NoReturn: | ||
""" | """定数のバリデーションを行う。 | ||
Returns: | Returns: | ||
None | NoReturn: | None | NoReturn: すべての対象定数が正しければ `None`。失敗したら例外を出す。 | ||
Raises: | Raises: | ||
AssertionError: バリデーションに違反した場合に出る。 | |||
""" | """ | ||
assert self.NITTER_INSTANCE[-1] == '/', 'NITTER_INSTANCEの末尾をには/が必須です' | |||
assert self.ARCHIVE_TODAY[-1] == '/', 'ARCHIVE_TODAYの末尾をには/が必須です' | |||
assert self.ARCHIVE_TODAY_STANDARD[-1] == '/', \ | |||
'ARCHIVE_TODAY_STANDARDの末尾をには/が必須です' | |||
assert self.TWITTER_URL[-1] == '/', 'TWITTER_URLの末尾をには/が必須です' | |||
def _check_ffmpeg(self) -> bool: | def _check_ffmpeg(self) -> bool: | ||
1,909行目: | 1,907行目: | ||
:const:`~TWEET_URL_PREFIX_DEFAULT` に続く桁をこの数字からインクリメントする。 | :const:`~TWEET_URL_PREFIX_DEFAULT` に続く桁をこの数字からインクリメントする。 | ||
0から9の間の整数でなければならない。 | |||
:func:`~_next_url` の `incremented_num` のデフォルト値。 | :func:`~_next_url` の `incremented_num` のデフォルト値。 | ||
""" | """ | ||
1,952行目: | 1,951行目: | ||
self._url_list: list[UrlTuple] = [] | self._url_list: list[UrlTuple] = [] | ||
return True | return True | ||
@override | |||
def _check_constants(self) -> None | NoReturn: | |||
super()._check_constants() | |||
assert (isinstance(self.INCREMENTED_NUM_DEFAULT, int) | |||
and 0 <= self.INCREMENTED_NUM_DEFAULT <= 9), \ | |||
'INCREMENTED_NUM_DEFAULTは0から9の整数のみでふ' | |||
def _get_tweet_urls_from_wiki(self, accessor: AccessorHandler) -> None: | def _get_tweet_urls_from_wiki(self, accessor: AccessorHandler) -> None: |