diff --git a/src/ut_course_catalog/analysis.py b/src/ut_course_catalog/analysis.py index 6633526..cb5972e 100644 --- a/src/ut_course_catalog/analysis.py +++ b/src/ut_course_catalog/analysis.py @@ -61,7 +61,16 @@ def parse_scoring_method(text: str | None) -> set[ScoringMethod]: ScoringMethod.課題: ["課題", "assign", "宿題"], ScoringMethod.レポート: ["レポート", "レポ", "report"], ScoringMethod.発表: ["発表", "presenta", "プレゼン"], - ScoringMethod.出席: ["出席", "発表", "参加", "attend", "平常", "出欠", "リアペ", "リアクション"], + ScoringMethod.出席: [ + "出席", + "発表", + "参加", + "attend", + "平常", + "出欠", + "リアペ", + "リアクション", + ], } result: set[ScoringMethod] = set() if text is None: @@ -95,7 +104,11 @@ def encode_common_code(common_codes: pd.Series[CommonCode]) -> pd.DataFrame: def to_perfect_dataframe(df: pd.DataFrame) -> pd.DataFrame: df = df.copy() df = pd.concat( - [df, encode_scoring_method(df["成績評価方法"]), encode_common_code(df["共通科目コード"])], + [ + df, + encode_scoring_method(df["成績評価方法"]), + encode_common_code(df["共通科目コード"]), + ], axis=1, ) return df diff --git a/src/ut_course_catalog/common.py b/src/ut_course_catalog/common.py index 12f0e59..dac9040 100644 --- a/src/ut_course_catalog/common.py +++ b/src/ut_course_catalog/common.py @@ -93,8 +93,10 @@ async def wait(self) -> None: def wraps( self, - func: WrappedFn[WrappedFnParam, WrappedFnResult] - | WrappedAwaitableFn[WrappedFnParam, WrappedFnResult], + func: ( + WrappedFn[WrappedFnParam, WrappedFnResult] + | WrappedAwaitableFn[WrappedFnParam, WrappedFnResult] + ), ) -> WrappedFn[WrappedFnParam, WrappedFnResult]: @wraps(func) async def wrapper( diff --git a/src/ut_course_catalog/ja.py b/src/ut_course_catalog/ja.py index 540797d..f445cfb 100644 --- a/src/ut_course_catalog/ja.py +++ b/src/ut_course_catalog/ja.py @@ -649,7 +649,9 @@ def _parse_weekday_period(period_text: str) -> set[tuple[Weekday, int]]: period_texts = period_text.split("、") def parse_one(period: str) -> tuple[Weekday, int] | None: - w = Weekday([weekday in period for weekday in list("月火水木金土日")].index(True)) + w = Weekday( + [weekday in period for weekday in list("月火水木金土日")].index(True) + ) reres = re.search(r"\d+", period) if not reres: # raise ValueError(f"Invalid period: {period}") @@ -778,7 +780,9 @@ def iterable_or_type_to_iterable( x.value * 100 + 1000 for x in iterable_or_type_to_iterable(params.曜日) ] if params.講義使用言語: - facet["course_language_codes"] = iterable_or_type_to_iterable(params.講義使用言語) + facet["course_language_codes"] = iterable_or_type_to_iterable( + params.講義使用言語 + ) if params.実務経験のある教員による授業科目: facet["operational_experience_flag"] = iterable_or_type_to_iterable( params.実務経験のある教員による授業科目 @@ -1094,8 +1098,9 @@ async def fetch_search_detail_all( *, year: int = current_fiscal_year(), use_tqdm: bool = True, - on_initial_request: None - | (Callable[[SearchResult], Awaitable[None] | None]) = None, + on_initial_request: None | ( + Callable[[SearchResult], Awaitable[None] | None] + ) = None, on_detail_request: Callable[[Details], Awaitable[None] | None] | None = None, ) -> Iterable[Details]: """Fetch all search results by repeatedly calling `fetch_search` and `fetch_detail`. @@ -1144,7 +1149,9 @@ async def on_initial_request_wrapper(search_result: SearchResult): async def inner(item): async with s: try: - details = await self.retry(self.fetch_detail)(item.時間割コード, year) + details = await self.retry(self.fetch_detail)( + item.時間割コード, year + ) except Exception as e: self._logger.error(e) return None