Tải hàng loạt thư mục và lưu trữ (.zip/.cbz) lên MangaDex một cách nhanh chóng và dễ dàng.
Đọc phần này bằng các ngôn ngữ khác: Tiếng Anh
Sẽ có một bản phát hành cho mỗi ngôn ngữ, bao gồm tiếng Anh trong mỗi bản. Để tải xuống tất cả các ngôn ngữ, hãy tải tệp nguồn zip.
Tải xuống phiên bản mới nhất từ trang phát hành.
Giải nén tệp vào một thư mục và mở cửa sổ terminal mới. Trên terminal, điều hướng đến thư mục đã tạo bằng cách sử dụng cd "<đường_dẫn_đến_thư_mục>"
.
Trước khi chạy trình tải lên, bạn sẽ cần cài đặt các mô-đun cần thiết. Để cài đặt các mô-đun, hãy chạy lệnh pip install -r requirements.txt
, sử dụng pip3
nếu bạn dùng macOS hoặc Linux thay vì pip
.
Trong thư mục bạn đã giải nén, tạo hai thư mục tên là to_upload
và uploaded
.
Để chạy trình tải lên, trong cửa sổ terminal, sử dụng python mupl.py
để bắt đầu. Sử dụng python3
nếu chạy trên macOS hoặc Linux.
Trình cập nhật sẽ tự động kiểm tra khi bắt đầu chương trình nếu có phiên bản mới trên trang phát hành. Nếu có phiên bản mới, chương trình sẽ nhắc bạn cập nhật.
Nếu bạn muốn vô hiệu hóa trình cập nhật, bạn có thể thêm --update
vào các tham số dòng lệnh. Ví dụ: python mupl.py --update
.
Có các đối số dòng lệnh có thể thêm sau lệnh chính để thay đổi hành vi của chương trình, ví dụ: python mupl.py -t
.
--update
-u
Không kiểm tra bản cập nhật mới khi bắt đầu chương trình.--verbose
-v
Làm cho các thông báo và nhật ký dòng lệnh chi tiết hơn.--threaded
-t
Chạy trình tải lên theo luồng. Mặc định: False--combine
-c
Kết hợp các hình ảnh nhỏ hơn hoặc bằng 128px với hình ảnh trước đó. Mặc định: False
manga_title [lang] - cXXX (vYY) (chapter_title) {publish_date} [group]
manga_title
Tiêu đề manga (giống như khóa trongname_id_map.json
) hoặc ID của MangaDex.[lang]
Mã ngôn ngữ theo định dạng ISO. Bỏ qua cho tiếng Anh.cXXX
Số chương. Bỏ tiền tố "c" nếu chương là oneshot, ví dụcXXX > XXX
.(vYY)
Tập của chương. Tùy chọn.(chapter_title)
Tiêu đề chương. Dùng{question_mark}
thay cho dấu hỏi?
. Tùy chọn.{publish_date}
Ngày phát hành chương trong tương lai từ phía MangaDex. BẮT BUỘC phải ở định dạngYYYY-MM-DDTHH-MM-SS
nếu có. Tùy chọn.[group]
Danh sách tên nhóm hoặc ID. Nếu là tên nhóm thì chúng phải được đưa vàoname_id_map.json
cho ID. Thêm nhiều nhóm bằng dấu cộng+
. Tùy chọn.
png
jpg
/jpeg
gif
webp
Sẽ được chuyển đổi thành png, jpg hoặc gif trong quá trình tải lên. Điều này không thay đổi tệp cục bộ.
Hình ảnh không được vượt quá 10,000px
về chiều rộng hoặc chiều cao. Để chia hình ảnh thành các phần nhỏ hơn, ID manga phải nằm trong mảng longstrip
hoặc widestrip
trong bản đồ ID manga, được minh họa bên dưới.
Nếu thiếu ID thì hình ảnh sẽ không được tách và SẼ bị bỏ qua.
Nếu --combine
được sử dụng, các hình ảnh nhỏ hơn hoặc bằng 128px
sẽ được kết hợp với hình ảnh trước đó NẾU chúng có cùng chiều rộng hoặc chiều cao với hình ảnh trước đó (tùy thuộc vào việc hình ảnh thuộc loại longstrip
hay widestrip
).
Nếu không được sử dụng hoặc các hình ảnh không có cùng chiều rộng hoặc chiều cao với hình ảnh trước đó, hình ảnh SẼ bị bỏ qua.
Cài đặt có thể thay đổi của người dùng có sẵn trong tệp config.json
. Đây cũng là nơi bạn đặt thông tin đăng nhập MangaDex của mình.
Sao chép và bỏ .example
khỏi config.json.example
để bắt đầu sử dụng tệp cấu hình.
Lưu ý: Các giá trị JSON không thể để trống và loại giá trị rất quan trọng.
- Dùng (
null
) cho giá trị rỗng. - Văn bản phải có dấu ngoặc kép (
"username"
) - Số phải để một mình (
1.1
)
number_of_images_upload
Số lượng hình ảnh tải lên cùng một lúc. Mặc định: 10upload_retry
Số lần thử tải lại hình ảnh hoặc chương. Mặc định: 3ratelimit_time
Thời gian nghỉ (tính bằng giây) sau các lần gọi API. Mặc định: 2max_log_days
Số ngày lưu trữ nhật ký. Mặc định: 30group_fallback_id
ID nhóm sử dụng nếu không tìm thấy trong tệp hoặc bản đồ ID, để trống nếu không tải lên nhóm. Mặc định: nullnumber_threads
: Số luồng để tải hình ảnh đồng thời. Điều này có thể làm bạn bị hạn chế số lượng request. Các luồng bị giới hạn từ 1-3. Mặc định: 3language
: Ngôn ngữ cho các thông báo dòng lệnh. Mặc định: en
Các giá trị này không thể để trống, nếu không trình tải lên sẽ không chạy.
mangadex_username
Tên người dùng MangaDex.mangadex_password
Mật khẩu MangaDex.client_id
Client ID cho API MangaDex.client_secret
Client Secret cho API MangaDex.
Các tùy chọn này có thể để nguyên, không cần thay đổi.
name_id_map_file
Tên tệp cho tên-id. Mặc định: name_id_map.jsonuploads_folder
Thư mục để lấy các tệp mới tải lên. Mặc định: to_uploaduploaded_files
Thư mục để di chuyển các chương đã tải lên. Mặc định: uploadedmangadex_api_url
URL API MangaDex. Mặc định: https://api.mangadex.orgmangadex_auth_url
URL xác thực MangaDex. Mặc định: https://auth.mangadex.org/realms/mangadex/protocol/openid-connectmdauth_path
Tệp lưu cục bộ cho token đăng nhập MangaDex. Mặc định: .mdauth
Tệp name_id_map.json
có định dạng sau:
{
"manga": {
"hyakkano": "efb4278c-a761-406b-9d69-19603c5e4c8b"
},
"group": {
"XuN": "b6d57ade-cab7-4be7-b2b8-be68484b3ad3"
},
"formats": {
"longstrip": ["efb4278c-a761-406b-9d69-19603c5e4c8b"],
"widestrip": ["69b4df2d-5ca3-4e58-91bd-74827629dcce"]
}
}
Tệp chứa bản đồ tên-ID cho manga và nhóm tải lên tương ứng. Tên nên giống với tệp tải lên. Để tránh các vấn đề khi tải lên, hãy sử dụng tên viết thường và không có dấu cách.
Mỗi cặp tên-id mới nên được phân tách bằng dấu phẩy ở cuối dòng và dấu hai chấm giữa tên và ID. Cặp cuối cùng không có dấu phẩy.
formats
chứa một danh sách các ID cho các định dạng là longstrip
(hình ảnh dài) hoặc widestrip
(hình ảnh rộng). Có thể có nhiều ID trong mỗi mảng, nhưng không được phép trùng lặp bất kì ID nào.
Giả sử tôi muốn tải chương hyakkano - c025 (v04) [XuN].cbz
. In my name_id_map.json
, Trong name_id_map.json
, tôi có khóa hyakkano
và giá trị efb4278c-a761-406b-9d69-19603c5e4c8b
cho manga ID để tải lên. Tôi cũng có XuN
trong bản đồ nhóm với giá trị b6d57ade-cab7-4be7-b2b8-be68484b3ad3
.
Chương trình sẽ tìm khóa hyakkano
và XuN
trong tệp này cho các ID được gán.
Nếu tôi có tệp tên là efb4278c-a761-406b-9d69-19603c5e4c8b [es] - 000 (Momi-san) [XuN+00e03853-1b96-4f41-9542-c71b8692033b]
, chương trình sẽ lấy id manga trực tiếp từ tập tin, ngôn ngữ là tiếng Tây Ban Nha với mã es
, số chương là null (oneshot) và không có tập (volume), tiêu đề chương là Momi-san
với các nhóm XuN
(id lấy từ name_id_map.json
) và 00e03853-1b96-4f41-9542-c71b8692033b
.
- Hãy đảm bảo không có vấn đề nào trùng lặp trước khi mở một vấn đề mới.
- Yêu cầu pull có thể được mở nếu bạn cho rằng cần thiết, nhưng vui lòng định dạng mã với Python Black (cài đặt mặc định) trước khi thực hiện.
Có hai tệp cần dịch, tệp readme này và tệp mupl/loc/en.json.
- README đã dịch nên được đặt trong thư mục doc/ với tên
readme.<mã_ngôn_ngữ>.md
theo định dạng mã ngôn ngữ ISO, ví dụ:readme.pt-br.md
. Cập nhật README của bạn để liên kết lại với README này dưới danh sách "Đọc điều này bằng các ngôn ngữ khác". - Tệp json đã dịch nên được đặt tên
<mã_ngôn_ngữ>.json
với định dạng mã ngôn ngữ ISO và đặt trong thư mục mupl/loc/, ví dụ:pt-br.json
.
Sau khi dịch các tệp này, hãy cập nhật README này với liên kết đến README của bạn đã dịch. Vui lòng gửi PR với những thay đổi này.