MichaelYochpaz / iSubRip

A Python command-line tool for scraping and downloading subtitles from AppleTV and iTunes movie pages.
MIT License
113 stars 15 forks source link

[Issue]: Can't rip movies with slash in title #30

Closed insurw closed 1 year ago

insurw commented 2 years ago

Confirmations

OS Type

Windows

Python Version

Python 3.10.7

Package Version

Version: 2.3.2

Description

Try rip a movie with slash in the title, in this case Superman/Batman: Apocalypse: isubrip https://itunes.apple.com/se/movie/superman-batman-apocalypse/id820997757?l=en

isubrip assume the temp path is: C:\\Users\\insurw-su\\AppData\\Local\\Temp\\isubrip\\Superman\\Batman.Apocalypse.iT.WEB

Config

[general]
check-for-updates = true

[downloads]
folder = "C:\\Users\\insurw-su\\Downloads\\[iTunes subtitles - isubrip]"
format = "srt"
#languages = ["en-US", "sv", "da", "no", "fi"]
languages = ["en", "en-US", "sv", "sv-SE", "da", "da-DK", "no", "no-NO", "fi", "fi-FI"]
merge-playlists = false
user-agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36"
zip = true

[scraping]
# User-Agent to use while scraping iTunes.
# Don't change this unless you know what you're doing.
itunes-user-agent = "iTunes-AppleTV/15.2"

# User-Agent to use while scraping AppleTV.
# Don't change this unless you know what you're doing.
appletv-user-agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36"

[subtitles]
fix-rtl = false
rtl-languages = ["ar", "he"]
remove-duplicates = true

Output Log

isubrip https://itunes.apple.com/se/movie/superman-batman-apocalypse/id820997757?l=en

Scraping https://itunes.apple.com/se/movie/superman-batman-apocalypse/id820997757?l=en...
Found movie: Superman/Batman: Apocalypse
Traceback (most recent call last):
  File "C:\Users\insurw-su\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\insurw-su\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\insurw-su\AppData\Local\Programs\Python\Python310\Scripts\isubrip.exe\__main__.py", line 7, in <module>
  File "C:\Users\insurw-su\AppData\Local\Programs\Python\Python310\lib\site-packages\isubrip\__main__.py", line 122, in main
    movie_download_path.mkdir(exist_ok=True)
  File "C:\Users\insurw-su\AppData\Local\Programs\Python\Python310\lib\pathlib.py", line 1173, in mkdir
    self._accessor.mkdir(self, mode)
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\Users\\insurw-su\\AppData\\Local\\Temp\\isubrip\\Superman\\Batman.Apocalypse.iT.WEB'
insurw commented 1 year ago

Same issue with the colon character, e.g. 3:10 to Yuma https://itunes.apple.com/se/movie/3-10-to-yuma/id808278931?l=en

Then there's the same error with Con Air but the name seems normal, without any special characters: https://itunes.apple.com/se/movie/con-air/id252789518?l=en NotADirectoryError: [WinError 267] The directory name is invalid: 'C:\\Users\\insurw-su\\AppData\\Local\\Temp\\isubrip\\Con.Air.iT.WEB'

Though I guess I should open an issue for each one?

MichaelYochpaz commented 1 year ago

Thanks for reporting, there's no need for another issue.

The issue with "Con Air" is that Windows doesn't allow file names with Con (separated with a dot) in it. (More info)

I'll work on a fix.

MichaelYochpaz commented 1 year ago

Fixed in the latest release (v2.3.3).