mirror of
https://github.com/amtoaer/bili-sync.git
synced 2026-05-06 20:42:48 +08:00
chore: 设置格式化规则,移除无用依赖
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
from pathlib import Path
|
||||
import os
|
||||
from enum import IntEnum
|
||||
from pathlib import Path
|
||||
|
||||
DEFAULT_CONFIG_PATH = (
|
||||
Path(__file__).parent / "config.json"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from bilibili_api import Credential
|
||||
|
||||
from settings import settings
|
||||
|
||||
|
||||
|
||||
5
entry.py
5
entry.py
@@ -1,6 +1,7 @@
|
||||
from processor import process
|
||||
import sys
|
||||
import asyncio
|
||||
import sys
|
||||
|
||||
from processor import process
|
||||
from settings import settings
|
||||
|
||||
|
||||
|
||||
2
nfo.py
2
nfo.py
@@ -1,5 +1,5 @@
|
||||
from dataclasses import dataclass
|
||||
import datetime
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
|
||||
16
poetry.lock
generated
16
poetry.lock
generated
@@ -1292,20 +1292,6 @@ files = [
|
||||
{file = "pypng-0.20220715.0.tar.gz", hash = "sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "python-dotenv"
|
||||
version = "1.0.0"
|
||||
description = "Read key-value pairs from a .env file and set them as environment variables"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
files = [
|
||||
{file = "python-dotenv-1.0.0.tar.gz", hash = "sha256:a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba"},
|
||||
{file = "python_dotenv-1.0.0-py3-none-any.whl", hash = "sha256:f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a"},
|
||||
]
|
||||
|
||||
[package.extras]
|
||||
cli = ["click (>=5.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "pytz"
|
||||
version = "2023.3.post1"
|
||||
@@ -1771,4 +1757,4 @@ multidict = ">=4.0"
|
||||
[metadata]
|
||||
lock-version = "2.0"
|
||||
python-versions = "^3.11"
|
||||
content-hash = "cae9bcef7c4193baf5c5cf363c8160ec352d141d8ee1d3478c77a37498f15866"
|
||||
content-hash = "6f295ea1cfe16df6ebdedf4a43db309f9cfd95489c108839c23fbb352139ed3e"
|
||||
|
||||
36
processor.py
36
processor.py
@@ -1,15 +1,17 @@
|
||||
from constants import FFMPEG_COMMAND, MediaType
|
||||
from nfo import Actor, EpisodeInfo
|
||||
from settings import settings
|
||||
from credential import credential
|
||||
from bilibili_api import favorite_list, video, HEADERS
|
||||
from pathlib import Path
|
||||
import httpx
|
||||
from asyncio import create_subprocess_exec
|
||||
from asyncio.subprocess import DEVNULL
|
||||
from loguru import logger
|
||||
import asyncio
|
||||
import datetime
|
||||
from asyncio import create_subprocess_exec
|
||||
from asyncio.subprocess import DEVNULL
|
||||
from pathlib import Path
|
||||
|
||||
import httpx
|
||||
from bilibili_api import HEADERS, favorite_list, video
|
||||
from loguru import logger
|
||||
|
||||
from constants import FFMPEG_COMMAND, MediaType
|
||||
from credential import credential
|
||||
from nfo import Actor, EpisodeInfo
|
||||
from settings import settings
|
||||
|
||||
anchor = datetime.datetime.today()
|
||||
|
||||
@@ -38,7 +40,9 @@ async def process():
|
||||
return
|
||||
for favorite_id in settings.favorite_ids:
|
||||
if favorite_id not in settings.path_mapper:
|
||||
logger.warning(f"Favorite {favorite_id} not in path mapper, ignored.")
|
||||
logger.warning(
|
||||
f"Favorite {favorite_id} not in path mapper, ignored."
|
||||
)
|
||||
continue
|
||||
await process_favorite(favorite_id)
|
||||
|
||||
@@ -48,8 +52,10 @@ async def process_favorite(favorite_id: int) -> None:
|
||||
save_path.mkdir(parents=True, exist_ok=True)
|
||||
page = 1
|
||||
while True:
|
||||
favorite_video_list = await favorite_list.get_video_favorite_list_content(
|
||||
favorite_id, page=page, credential=credential
|
||||
favorite_video_list = (
|
||||
await favorite_list.get_video_favorite_list_content(
|
||||
favorite_id, page=page, credential=credential
|
||||
)
|
||||
)
|
||||
if page == 1:
|
||||
logger.info(
|
||||
@@ -64,7 +70,9 @@ async def process_favorite(favorite_id: int) -> None:
|
||||
for idx, result in enumerate(video_result):
|
||||
if isinstance(result, Exception):
|
||||
logger.error(
|
||||
"Failed to process video {}: {}", medias[idx]["title"], result
|
||||
"Failed to process video {}: {}",
|
||||
medias[idx]["title"],
|
||||
result,
|
||||
)
|
||||
if not favorite_video_list["has_more"]:
|
||||
return
|
||||
|
||||
@@ -18,8 +18,38 @@ loguru = "0.7.2"
|
||||
black = "23.11.0"
|
||||
ruff = "0.1.6"
|
||||
ipython = "8.17.2"
|
||||
python-dotenv = "1.0.0"
|
||||
|
||||
[tool.black]
|
||||
line-length = 80
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 80
|
||||
select = [
|
||||
"F", # https://beta.ruff.rs/docs/rules/#pyflakes-f
|
||||
"E",
|
||||
"W", # https://beta.ruff.rs/docs/rules/#pycodestyle-e-w
|
||||
"I", # https://beta.ruff.rs/docs/rules/#isort-i
|
||||
# "N", # https://beta.ruff.rs/docs/rules/#pep8-naming-n
|
||||
"UP", # https://beta.ruff.rs/docs/rules/#pyupgrade-up
|
||||
"S", # https://beta.ruff.rs/docs/rules/#flake8-bandit-s
|
||||
"B", # https://beta.ruff.rs/docs/rules/#flake8-bugbear-b
|
||||
"A", # https://beta.ruff.rs/docs/rules/#flake8-builtins-a
|
||||
"C4", # https://beta.ruff.rs/docs/rules/#flake8-comprehensions-c4
|
||||
"ICN", # https://beta.ruff.rs/docs/rules/#flake8-import-conventions-icn
|
||||
"G", # https://beta.ruff.rs/docs/rules/#flake8-logging-format-g
|
||||
"PIE", # https://beta.ruff.rs/docs/rules/#flake8-pie-pie
|
||||
"T20", # https://beta.ruff.rs/docs/rules/#flake8-print-t20
|
||||
"RET", # https://beta.ruff.rs/docs/rules/#flake8-return-ret
|
||||
"SIM", # https://beta.ruff.rs/docs/rules/#flake8-simplify-sim
|
||||
"TID", # https://beta.ruff.rs/docs/rules/#flake8-tidy-imports-tid
|
||||
"PTH", # https://beta.ruff.rs/docs/rules/#flake8-use-pathlib-pth
|
||||
"PD", # https://beta.ruff.rs/docs/rules/#pandas-vet-pd
|
||||
# "PL", # https://beta.ruff.rs/docs/rules/#pylint-pl
|
||||
"NPY", # https://beta.ruff.rs/docs/rules/#numpy-specific-rules-npy
|
||||
"RUF100", # https://beta.ruff.rs/docs/configuration/#automatic-noqa-management
|
||||
]
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core"]
|
||||
build-backend = "poetry.core.masonry.api"
|
||||
|
||||
|
||||
17
settings.py
17
settings.py
@@ -1,8 +1,9 @@
|
||||
from dataclasses import dataclass, field, fields
|
||||
from dataclasses_json import DataClassJsonMixin
|
||||
from pathlib import Path
|
||||
from typing import Self
|
||||
|
||||
from dataclasses_json import DataClassJsonMixin
|
||||
|
||||
from constants import DEFAULT_CONFIG_PATH
|
||||
|
||||
|
||||
@@ -46,11 +47,15 @@ class Config(DataClassJsonMixin):
|
||||
|
||||
|
||||
def init_settings() -> Config:
|
||||
if DEFAULT_CONFIG_PATH.exists():
|
||||
conf = Config.load(DEFAULT_CONFIG_PATH)
|
||||
else:
|
||||
conf = Config()
|
||||
return conf.save(DEFAULT_CONFIG_PATH).validate()
|
||||
return (
|
||||
(
|
||||
Config.load(DEFAULT_CONFIG_PATH)
|
||||
if DEFAULT_CONFIG_PATH.exists()
|
||||
else Config()
|
||||
)
|
||||
.save(DEFAULT_CONFIG_PATH)
|
||||
.validate()
|
||||
)
|
||||
|
||||
|
||||
settings = init_settings()
|
||||
|
||||
Reference in New Issue
Block a user