AntonisTorb / bato.dl

Script to download manga chapters from bato.to
MIT License
3 stars 4 forks source link

Add Option to Download or Convert to CBZ Format #5

Closed woducku closed 2 months ago

woducku commented 2 months ago

It would be great to have an option to automatically download files in the CBZ format. CBZ is more standard and better suited for this purpose.

If not possible, change the image naming scheme.

for example "Series name - Chapter number - Page number". (Daiz Naming scheme) then one can put all them in one folder and convert it themselves.

AntonisTorb commented 2 months ago

Hi there!

Thanks for the suggestions! I will have to look into the CBZ format and the name formatting since I'm not too familiar. I will update when I have something.

AntonisTorb commented 2 months ago

Update f663a274caa8e8671369ae302c165d14b9b13c72 : I have added a command line argument to use when you want to enforce a Daiz-like naming scheme. Use the -d argument to enforce it, also documented in the README.

For CBZ, it would seem I would need another dependency. I will look into it at a later time. Thanks for your suggestions!

Let me know if this works for you.

Cheers!

woducku commented 2 months ago

getting this error

2024-09-05 00:03:41,808|   ERROR|batodl.batodl|[WinError 123] The filename, directory name, or volume label syntax is incorrect: 'F:\\IDM\\Compressed\\bato.dl-main\\Manga\\Itís a Cat, Adopted By a Wolf Family?'
Traceback (most recent call last):
  File "F:\IDM\Compressed\bato.dl-main\batodl\batodl.py", line 187, in download
    self.download_manga(chapter_urls, title, session)
  File "F:\IDM\Compressed\bato.dl-main\batodl\batodl.py", line 156, in download_manga
    manga_dir.mkdir(exist_ok=True)
  File "C:\Users\duck\AppData\Local\Programs\Python\Python312\Lib\pathlib.py", line 1311, in mkdir
    os.mkdir(self, mode)
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: 'F:\\IDM\\Compressed\\bato.dl-main\\Manga\\Itís a Cat, Adopted By a Wolf Family?'
2024-09-05 00:04:02,636|   ERROR|batodl.batodl|[WinError 123] The filename, directory name, or volume label syntax is incorrect: 'F:\\IDM\\Compressed\\bato.dl-main\\Manga\\Itís a Cat, Adopted By a Wolf Family?'
Traceback (most recent call last):
  File "F:\IDM\Compressed\bato.dl-main\batodl\batodl.py", line 187, in download
    self.download_manga(chapter_urls, title, session)
  File "F:\IDM\Compressed\bato.dl-main\batodl\batodl.py", line 156, in download_manga
    manga_dir.mkdir(exist_ok=True)
  File "C:\Users\duck\AppData\Local\Programs\Python\Python312\Lib\pathlib.py", line 1311, in mkdir
    os.mkdir(self, mode)
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: 'F:\\IDM\\Compressed\\bato.dl-main\\Manga\\Itís a Cat, Adopted By a Wolf Family?'
AntonisTorb commented 2 months ago

Update 0ef30a98a7a22f26bde97300677f10a8d2e170a1: Fixed, it was a bug with special characters being forbidden in the filepath (the question mark in this case). I very often forget about this. Thanks for reporting!

woducku commented 2 months ago

sigh

2024-09-05 12:26:59,980|   ERROR|batodl.batodl|could not convert string to float: 'episode.0'
Traceback (most recent call last):
  File "F:\IDM\Compressed\bato.dl-main\batodl\batodl.py", line 189, in download
    self.download_manga(chapter_urls, title, session)
  File "F:\IDM\Compressed\bato.dl-main\batodl\batodl.py", line 160, in download_manga
    if float(chapter_no) in [float(chapter) for chapter in existing_chapters]:
       ^^^^^^^^^^^^^^^^^
ValueError: could not convert string to float: 'episode.0'
AntonisTorb commented 2 months ago

Now see, this is why we can't have nice things, there is no naming standard for these websites! Why name chapters 'episodes'' and separate with a period? Sigh... I'll work on this on a bit, but I might not be able to test it unless I have the url to the chapter/series you're trying to get. I hope I can make a more general regex for it.

AntonisTorb commented 2 months ago

Update ad74ea7ecdc72e4387aed29d4ee80232edbfe4bb : Hopefully this fixes it, I did some generic testing, but I'm not sure it captured every case. If it still doesn't work for you I will need the URL you're trying to get (if you want to share).