-
-
Notifications
You must be signed in to change notification settings - Fork 6
ci(pre-commit): update pre-commit hooks #130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
pre-commit-ci
wants to merge
1
commit into
main
Choose a base branch
from
pre-commit-ci-update-config
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
de4d6f3 to
d8785ea
Compare
d8785ea to
34a3d5d
Compare
34a3d5d to
54060a6
Compare
54060a6 to
a91f388
Compare
a91f388 to
152cef5
Compare
602a8a1 to
d655c55
Compare
b02e628 to
ee24dd9
Compare
ee24dd9 to
f577f51
Compare
f577f51 to
6db11d7
Compare
0eedc15 to
8c11f11
Compare
8c11f11 to
7d34356
Compare
f7202fb to
580a23c
Compare
5a16e44 to
fd9a2c0
Compare
fd9a2c0 to
ce325a4
Compare
ce325a4 to
71b53a1
Compare
19983f2 to
8356849
Compare
1a177d0 to
0a6992b
Compare
0a6992b to
aa8c54a
Compare
aa8c54a to
c6bf605
Compare
c6bf605 to
96af08c
Compare
96af08c to
838f590
Compare
Contributor
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| ✅ BASH | shellcheck | 3 | 0 | 0 | 0.05s | |
| ✅ BASH | shfmt | 3 | 0 | 0 | 0 | 0.01s |
| jscpd | yes | 1 | no | 1.87s | ||
| ✅ JSON | prettier | 9 | 0 | 0 | 0 | 0.36s |
| ✅ JSON | v8r | 9 | 0 | 0 | 4.75s | |
| ruff | yes | yes | 100 | no | 1.41s | |
| ✅ REPOSITORY | git_diff | yes | no | no | 0.02s | |
| ✅ SPELL | cspell | 48 | 0 | 0 | 3.75s | |
| ✅ YAML | prettier | 4 | 0 | 0 | 0 | 0.47s |
| ✅ YAML | v8r | 4 | 0 | 0 | 4.28s | |
| ✅ YAML | yamllint | 4 | 0 | 0 | 0.42s |
Detailed Issues
⚠️ COPYPASTE / jscpd - 1 error
Clone found (python):
- src/thu_learn_downloader/download/downloader.py [162:10 - 173:5] (11 lines, 93 tokens)
src/thu_learn_downloader/download/downloader.py [117:13 - 128:3]
┌────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐
│ Format │ Files analyzed │ Total lines │ Total tokens │ Clones found │ Duplicated lines │ Duplicated tokens │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ bash │ 12 │ 281 │ 1834 │ 0 │ 0 (0%) │ 0 (0%) │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ python │ 20 │ 1305 │ 10048 │ 1 │ 11 (0.84%) │ 93 (0.93%) │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total: │ 32 │ 1586 │ 11882 │ 1 │ 11 (0.69%) │ 93 (0.78%) │
└────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
Found 1 clones.
HTML report saved to megalinter-reports/copy-paste/html/
ERROR: jscpd found too many duplicates (0.69%) over threshold (0%)
Error: ERROR: jscpd found too many duplicates (0.69%) over threshold (0%)
at ThresholdReporter.report (/node-deps/node_modules/@jscpd/finder/dist/index.js:612:13)
at /node-deps/node_modules/@jscpd/finder/dist/index.js:110:18
at Array.forEach (<anonymous>)
at /node-deps/node_modules/@jscpd/finder/dist/index.js:109:22
at async /node-deps/node_modules/jscpd/dist/jscpd.js:351:5
⚠️ PYTHON / ruff - 100 errors
TRY301 Abstract `raise` to an inner function
--> src/thu_learn_downloader/client/client.py:33:17
|
31 | token = self.cookies.get("XSRF-TOKEN")
32 | if token is None:
33 | raise KeyError("XSRF-TOKEN not found in cookies")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
34 | return token
35 | except KeyError as e:
|
TRY003 Avoid specifying long messages outside the exception class
--> src/thu_learn_downloader/client/client.py:33:23
|
31 | token = self.cookies.get("XSRF-TOKEN")
32 | if token is None:
33 | raise KeyError("XSRF-TOKEN not found in cookies")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
34 | return token
35 | except KeyError as e:
|
EM101 Exception must not use a string literal, assign to variable first
--> src/thu_learn_downloader/client/client.py:33:32
|
31 | token = self.cookies.get("XSRF-TOKEN")
32 | if token is None:
33 | raise KeyError("XSRF-TOKEN not found in cookies")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
34 | return token
35 | except KeyError as e:
|
help: Assign to variable; remove string literal
TRY300 Consider moving this statement to an `else` block
--> src/thu_learn_downloader/client/client.py:34:13
|
32 | if token is None:
33 | raise KeyError("XSRF-TOKEN not found in cookies")
34 | return token
| ^^^^^^^^^^^^
35 | except KeyError as e:
36 | print(f"无法获取CSRF token: {e}")
|
TRY002 Create your own exception
--> src/thu_learn_downloader/client/client.py:38:19
|
36 | print(f"无法获取CSRF token: {e}")
37 | print(f"当前cookies: {list(self.cookies.keys())}")
38 | raise Exception("登录状态可能已失效,请重新登录") from e
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
EM101 Exception must not use a string literal, assign to variable first
--> src/thu_learn_downloader/client/client.py:38:29
|
36 | print(f"无法获取CSRF token: {e}")
37 | print(f"当前cookies: {list(self.cookies.keys())}")
38 | raise Exception("登录状态可能已失效,请重新登录") from e
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
help: Assign to variable; remove string literal
RUF001 String contains ambiguous `,` (FULLWIDTH COMMA). Did you mean `,` (COMMA)?
--> src/thu_learn_downloader/client/client.py:38:39
|
36 | print(f"无法获取CSRF token: {e}")
37 | print(f"当前cookies: {list(self.cookies.keys())}")
38 | raise Exception("登录状态可能已失效,请重新登录") from e
| ^^
|
ANN201 Missing return type annotation for public function `get_course_issues`
--> src/thu_learn_downloader/client/course.py:21:5
|
21 | def get_course_issues():
| ^^^^^^^^^^^^^^^^^
22 | """获取课程问题汇总"""
23 | return _course_issues.copy()
|
help: Add return type annotation
D415 First line should end with a period, question mark, or exclamation point
--> src/thu_learn_downloader/client/course.py:22:5
|
21 | def get_course_issues():
22 | """获取课程问题汇总"""
| ^^^^^^^^^^^^^^^^^^^^^^
23 | return _course_issues.copy()
|
help: Add closing punctuation
ANN201 Missing return type annotation for public function `clear_course_issues`
--> src/thu_learn_downloader/client/course.py:26:5
|
26 | def clear_course_issues():
| ^^^^^^^^^^^^^^^^^^^
27 | """清空课程问题记录"""
28 | global _course_issues
|
help: Add return type annotation: `None`
D415 First line should end with a period, question mark, or exclamation point
--> src/thu_learn_downloader/client/course.py:27:5
|
26 | def clear_course_issues():
27 | """清空课程问题记录"""
| ^^^^^^^^^^^^^^^^^^^^^^
28 | global _course_issues
29 | _course_issues = {
|
help: Add closing punctuation
PLW0603 Using the global statement to update `_course_issues` is discouraged
--> src/thu_learn_downloader/client/course.py:28:12
|
26 | def clear_course_issues():
27 | """清空课程问题记录"""
28 | global _course_issues
| ^^^^^^^^^^^^^^
29 | _course_issues = {
30 | "missing_documents": [],
|
RUF003 Comment contains ambiguous `,` (FULLWIDTH COMMA). Did you mean `,` (COMMA)?
--> src/thu_learn_downloader/client/course.py:48:15
|
46 | @property
47 | def document_classes(self) -> Sequence[DocumentClass]:
48 | # 异常处理,记录问题
| ^^
49 | try:
50 | response = self.client.get_with_token(
|
F841 Local variable `json_data` is assigned to but never used
--> src/thu_learn_downloader/client/course.py:54:13
|
52 | params={"wlkcid": self.id},
53 | )
54 | json_data = response.json()["object"]["rows"]
| ^^^^^^^^^
55 |
56 | return [
|
help: Remove assignment to unused variable `json_data`
BLE001 Do not catch blind exception: `Exception`
--> src/thu_learn_downloader/client/course.py:61:16
|
59 | ]
60 |
61 | except Exception as e:
| ^^^^^^^^^
62 | _course_issues["missing_document_classes"].append(
63 | {"course": self.name, "course_id": self.id, "reason": f"异常: {e!s}"}
|
TRY300 Consider moving this statement to an `else` block
--> src/thu_learn_downloader/client/course.py:82:13
|
80 | documents.sort(key=lambda document: document.title)
81 | documents.sort(key=lambda document: document.upload_time)
82 | return documents
| ^^^^^^^^^^^^^^^^
83 |
84 | except Exception as e:
|
BLE001 Do not catch blind exception: `Exception`
--> src/thu_learn_downloader/client/course.py:84:16
|
82 | return documents
83 |
84 | except Exception as e:
| ^^^^^^^^^
85 | _course_issues["missing_documents"].append(
86 | {"course": self.name, "course_id": self.id, "reason": f"异常: {e!s}"}
|
RUF003 Comment contains ambiguous `,` (FULLWIDTH COMMA). Did you mean `,` (COMMA)?
--> src/thu_learn_downloader/client/course.py:113:27
|
111 | ]
112 |
113 | # 如果所有作业API都没有返回数据,记录该课程
| ^^
114 | if not all_homeworks:
115 | _course_issues["missing_homeworks"].append(
|
RUF003 Comment contains ambiguous `,` (FULLWIDTH COMMA). Did you mean `,` (COMMA)?
--> src/thu_learn_downloader/client/course.py:127:27
|
125 | # 检查响应状态
126 | if resp.status_code != 200:
127 | # 作业API失败时,只在所有作业API都失败时才记录
| ^^
128 | return []
|
BLE001 Do not catch blind exception: `Exception`
--> src/thu_learn_downloader/client/course.py:148:16
|
146 | ]
147 |
148 | except Exception:
| ^^^^^^^^^
149 | return []
|
TID252 Prefer absolute imports over relative imports from parent modules
--> src/thu_learn_downloader/client/learn.py:18:9
|
17 | def login(self) -> None:
18 | from ..login.browser import login_with_browser
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19 |
20 | try:
|
help: Replace relative imports from parent modules with absolute imports
RUF003 Comment contains ambiguous `,` (FULLWIDTH COMMA). Did you mean `,` (COMMA)?
--> src/thu_learn_downloader/client/learn.py:27:23
|
25 | self.client.cookies[name] = value
26 |
27 | # 验证登录是否成功,尝试访问课程页面
| ^^
28 | response = self.client.get(
29 | url=url.make_url(path="/f/wlxt/index/course/student/")
|
RUF001 String contains ambiguous `!` (FULLWIDTH EXCLAMATION MARK). Did you mean `!` (EXCLAMATION MARK)?
--> src/thu_learn_downloader/client/learn.py:32:31
|
30 | )
31 | if response.status_code == 200:
32 | print("浏览器登录成功!")
| ^^
33 | else:
34 | raise Exception("登录验证失败,请重试")
|
TRY301 Abstract `raise` to an inner function
--> src/thu_learn_downloader/client/learn.py:34:17
|
32 | print("浏览器登录成功!")
33 | else:
34 | raise Exception("登录验证失败,请重试")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
35 |
36 | except Exception as e:
|
TRY002 Create your own exception
--> src/thu_learn_downloader/client/learn.py:34:23
|
32 | print("浏览器登录成功!")
33 | else:
34 | raise Exception("登录验证失败,请重试")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
35 |
36 | except Exception as e:
|
EM101 Exception must not use a string literal, assign to variable first
--> src/thu_learn_downloader/client/learn.py:34:33
|
32 | print("浏览器登录成功!")
33 | else:
34 | raise Exception("登录验证失败,请重试")
| ^^^^^^^^^^^^^^^^^^^^^^
35 |
36 | except Exception as e:
|
help: Assign to variable; remove string literal
RUF001 String contains ambiguous `,` (FULLWIDTH COMMA). Did you mean `,` (COMMA)?
--> src/thu_learn_downloader/client/learn.py:34:40
|
32 | print("浏览器登录成功!")
33 | else:
34 | raise Exception("登录验证失败,请重试")
| ^^
35 |
36 | except Exception as e:
|
BLE001 Do not catch blind exception: `Exception`
--> src/thu_learn_downloader/client/learn.py:36:16
|
34 | raise Exception("登录验证失败,请重试")
35 |
36 | except Exception as e:
| ^^^^^^^^^
37 | print(f"浏览器登录失败: {e}")
|
RUF003 Comment contains ambiguous `,` (FULLWIDTH COMMA). Did you mean `,` (COMMA)?
--> src/thu_learn_downloader/client/learn.py:42:22
|
40 | # """
41 | # 登录方法
42 | # 如果提供了用户名和密码,使用传统登录方式(保留兼容性)
| ^^
43 | # 否则使用浏览器登录方式
44 | # """
|
RUF003 Comment contains ambiguous `(` (FULLWIDTH LEFT PARENTHESIS). Did you mean `(` (LEFT PARENTHESIS)?
--> src/thu_learn_downloader/client/learn.py:42:31
|
40 | # """
41 | # 登录方法
42 | # 如果提供了用户名和密码,使用传统登录方式(保留兼容性)
| ^^
43 | # 否则使用浏览器登录方式
44 | # """
|
RUF003 Comment contains ambiguous `)` (FULLWIDTH RIGHT PARENTHESIS). Did you mean `)` (RIGHT PARENTHESIS)?
--> src/thu_learn_downloader/client/learn.py:42:37
|
40 | # """
41 | # 登录方法
42 | # 如果提供了用户名和密码,使用传统登录方式(保留兼容性)
| ^^
43 | # 否则使用浏览器登录方式
44 | # """
|
RUF003 Comment contains ambiguous `(` (FULLWIDTH LEFT PARENTHESIS). Did you mean `(` (LEFT PARENTHESIS)?
--> src/thu_learn_downloader/client/learn.py:53:26
|
52 | # def _login_with_credentials(self, username: str, password: str) -> None:
53 | # """传统的用户名密码登录方式(保留作为备用)"""
| ^^
54 | # response: Response = self.client.get(url=url.make_url())
55 | # soup: BeautifulSoup = BeautifulSoup(
|
RUF003 Comment contains ambiguous `)` (FULLWIDTH RIGHT PARENTHESIS). Did you mean `)` (RIGHT PARENTHESIS)?
--> src/thu_learn_downloader/client/learn.py:53:33
|
52 | # def _login_with_credentials(self, username: str, password: str) -> None:
53 | # """传统的用户名密码登录方式(保留作为备用)"""
| ^^
54 | # response: Response = self.client.get(url=url.make_url())
55 | # soup: BeautifulSoup = BeautifulSoup(
|
ANN001 Missing type annotation for function argument `fragment`
--> src/thu_learn_downloader/client/url.py:14:5
|
12 | path: str = "",
13 | query: Mapping | None = None,
14 | fragment="",
| ^^^^^^^^
15 | ) -> str:
16 | query = query or {}
|
ANN201 Missing return type annotation for public function `cast`
--> src/thu_learn_downloader/common/typing.py:1:5
|
1 | def cast(typ, val):
| ^^^^
2 | assert isinstance(val, typ)
3 | return val
|
help: Add return type annotation
ANN001 Missing type annotation for function argument `typ`
--> src/thu_learn_downloader/common/typing.py:1:10
|
1 | def cast(typ, val):
| ^^^
2 | assert isinstance(val, typ)
3 | return val
|
ANN001 Missing type annotation for function argument `val`
--> src/thu_learn_downloader/common/typing.py:1:15
|
1 | def cast(typ, val):
| ^^^
2 | assert isinstance(val, typ)
3 | return val
|
ARG001 Unused function argument: `semester`
--> src/thu_learn_downloader/download/description.py:8:5
|
7 | def document(
8 | semester: Semester,
| ^^^^^^^^
9 | course: Course,
10 | document_class: DocumentClass,
|
ARG001 Unused function argument: `document_class`
--> src/thu_learn_downloader/download/description.py:10:5
|
8 | semester: Semester,
9 | course: Course,
10 | document_class: DocumentClass,
| ^^^^^^^^^^^^^^
11 | document: Document,
12 | index: int,
|
ARG001 Unused function argument: `semester`
--> src/thu_learn_downloader/download/description.py:21:5
|
20 | def attachment(
21 | semester: Semester, course: Course, homework: Homework, attachment: Attachment
| ^^^^^^^^
22 | ) -> str:
23 | return (
|
ANN001 Missing type annotation for function argument `exc_type`
--> src/thu_learn_downloader/download/downloader.py:92:24
|
90 | return self
91 |
92 | def __exit__(self, exc_type, exc_val, exc_tb) -> None:
| ^^^^^^^^
93 | self.executor.__exit__(exc_type, exc_val, exc_tb)
94 | self.live.__exit__(exc_type, exc_val, exc_tb)
|
ANN001 Missing type annotation for function argument `exc_val`
--> src/thu_learn_downloader/download/downloader.py:92:34
|
90 | return self
91 |
92 | def __exit__(self, exc_type, exc_val, exc_tb) -> None:
| ^^^^^^^
93 | self.executor.__exit__(exc_type, exc_val, exc_tb)
94 | self.live.__exit__(exc_type, exc_val, exc_tb)
|
ANN001 Missing type annotation for function argument `exc_tb`
--> src/thu_learn_downloader/download/downloader.py:92:43
|
90 | return self
91 |
92 | def __exit__(self, exc_type, exc_val, exc_tb) -> None:
| ^^^^^^
93 | self.executor.__exit__(exc_type, exc_val, exc_tb)
94 | self.live.__exit__(exc_type, exc_val, exc_tb)
|
PTH103 `os.makedirs()` should be replaced by `Path.mkdir(parents=True)`
--> src/thu_learn_downloader/download/downloader.py:110:9
|
108 | self.progress_download.update(task_id=task_id, visible=True)
109 | response: Response = client.get(url=url, stream=True)
110 | os.makedirs(name=output.parent, exist_ok=True)
| ^^^^^^^^^^^
111 | with output.open(mode="wb") as file:
112 | for chunk in response.iter_content(chunk_size=8192):
|
help: Replace with `Path(...).mkdir(parents=True)`
BLE001 Do not catch blind exception: `Exception`
--> src/thu_learn_downloader/download/downloader.py:133:24
|
131 | try:
132 | remote_size = int(response.headers["Content-Length"])
133 | except Exception:
| ^^^^^^^^^
134 | remote_size = None
135 | if remote_time is None:
|
BLE001 Do not catch blind exception: `Exception`
--> src/thu_learn_downloader/download/downloader.py:138:24
|
136 | try:
137 | remote_time = dateutil.parser.parse(response.headers["Date"])
138 | except Exception:
| ^^^^^^^^^
139 | remote_time = None
140 | if (
|
PTH103 `os.makedirs()` should be replaced by `Path.mkdir(parents=True)`
--> src/thu_learn_downloader/download/downloader.py:298:9
|
296 | prefix=self.prefix, semester=semester, course=course, homework=homework
297 | )
298 | os.makedirs(readme_path.parent, exist_ok=True)
| ^^^^^^^^^^^
299 | readme_path.write_text(homework.markdown)
300 | for attachment in homework.attachments:
|
help: Replace with `Path(...).mkdir(parents=True)`
D205 1 blank line required between summary line and description
--> src/thu_learn_downloader/download/filename.py:11:5
|
10 | def sanitize_filename(filename: str) -> str:
11 | / """输入: 文件名
12 | | 输出: 清理无效字符后的文件名,避免程序出错
13 | | """
| |_______^
14 | # 定义Windows不允许的字符
15 | invalid_chars = r'[<>:"|?*\\]'
|
help: Insert single blank line
D415 First line should end with a period, question mark, or exclamation point
--> src/thu_learn_downloader/download/filename.py:11:5
|
10 | def sanitize_filename(filename: str) -> str:
11 | / """输入: 文件名
12 | | 输出: 清理无效字符后的文件名,避免程序出错
13 | | """
| |_______^
14 | # 定义Windows不允许的字符
15 | invalid_chars = r'[<>:"|?*\\]'
|
help: Add closing punctuation
RUF002 Docstring contains ambiguous `:` (FULLWIDTH COLON). Did you mean `:` (COLON)?
--> src/thu_learn_downloader/download/filename.py:11:10
|
10 | def sanitize_filename(filename: str) -> str:
11 | """输入: 文件名
| ^^
12 | 输出: 清理无效字符后的文件名,避免程序出错
13 | """
|
RUF002 Docstring contains ambiguous `:` (FULLWIDTH COLON). Did you mean `:` (COLON)?
--> src/thu_learn_downloader/download/filename.py:12:7
|
10 | def sanitize_filename(filename: str) -> str:
11 | """输入: 文件名
12 | 输出: 清理无效字符后的文件名,避免程序出错
| ^^
13 | """
14 | # 定义Windows不允许的字符
|
RUF002 Docstring contains ambiguous `,` (FULLWIDTH COMMA). Did you mean `,` (COMMA)?
--> src/thu_learn_downloader/download/filename.py:12:20
|
10 | def sanitize_filename(filename: str) -> str:
11 | """输入: 文件名
12 | 输出: 清理无效字符后的文件名,避免程序出错
| ^^
13 | """
14 | # 定义Windows不允许的字符
|
RUF003 Comment contains ambiguous `(` (FULLWIDTH LEFT PARENTHESIS). Did you mean `(` (LEFT PARENTHESIS)?
--> src/thu_learn_downloader/download/filename.py:20:13
|
18 | filename = re.sub(invalid_chars, "_", filename)
19 |
20 | # 移除控制字符(ASCII 0-31)
| ^^
21 | filename = re.sub(r"[\x00-\x1f]", "", filename)
|
RUF003 Comment contains ambiguous `)` (FULLWIDTH RIGHT PARENTHESIS). Did you mean `)` (RIGHT PARENTHESIS)?
--> src/thu_learn_downloader/download/filename.py:20:24
|
18 | filename = re.sub(invalid_chars, "_", filename)
19 |
20 | # 移除控制字符(ASCII 0-31)
| ^^
21 | filename = re.sub(r"[\x00-\x1f]", "", filename)
|
RUF003 Comment contains ambiguous `,` (FULLWIDTH COMMA). Did you mean `,` (COMMA)?
--> src/thu_learn_downloader/download/filename.py:26:22
|
24 | filename = filename.strip(" .")
25 |
26 | # 如果文件名为空或只包含无效字符,使用默认名称
| ^^
27 | if not filename:
28 | filename = "untitled"
|
S110 `try`-`except`-`pass` detected, consider logging the exception
--> src/thu_learn_downloader/login/auto.py:9:5
|
7 | if username:
8 | return username
9 | / except Exception:
10 | | pass
| |____________^
11 | return ""
|
BLE001 Do not catch blind exception: `Exception`
--> src/thu_learn_downloader/login/auto.py:9:12
|
7 | if username:
8 | return username
9 | except Exception:
| ^^^^^^^^^
10 | pass
(Truncated to 20000 characters out of 35401)
See detailed reports in MegaLinter artifacts
838f590 to
b3659af
Compare
b3659af to
b71cd2f
Compare
|
8e44cbe to
496271b
Compare
6865e94 to
f42f72d
Compare
a2107ae to
d9ddcfd
Compare
a7b47eb to
d5abdfb
Compare
liblaf
previously approved these changes
Nov 2, 2025
d5abdfb to
1d70b20
Compare
liblaf
previously approved these changes
Nov 4, 2025
updates: - [github.com/astral-sh/ruff-pre-commit: v0.14.1 → v0.14.4](astral-sh/ruff-pre-commit@v0.14.1...v0.14.4) - [github.com/biomejs/pre-commit: v2.2.6 → v2.3.4](biomejs/pre-commit@v2.2.6...v2.3.4)
1d70b20 to
490df14
Compare
liblaf
approved these changes
Nov 10, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

updates: