Fix downloading for masterani (#85)
This should fix downloading from masterani/mp4upload for some shows (since it also seems that some anime, like Koe No Katachi, are not affected by broken mp4upload SSL certs).master
parent
0049ea6b20
commit
b016f6222e
|
@ -24,7 +24,6 @@ def cli():
|
|||
"""
|
||||
pass
|
||||
|
||||
|
||||
# NOTE: Don't put defaults here. Add them to the dict in config
|
||||
@cli.command()
|
||||
@click.argument('anime_url')
|
||||
|
@ -140,7 +139,14 @@ def dl(ctx, anime_url, episode_range, url, player, skip_download, quality,
|
|||
if chunk_size is not None:
|
||||
chunk_size *= 1e6
|
||||
chunk_size = int(chunk_size)
|
||||
episode.download(force=force_download,
|
||||
if cls.__name__ == 'Masterani':
|
||||
episode.download(force=force_download,
|
||||
path=download_dir,
|
||||
format=file_format,
|
||||
range_size=chunk_size,
|
||||
ssl=False)
|
||||
else:
|
||||
episode.download(force=force_download,
|
||||
path=download_dir,
|
||||
format=file_format,
|
||||
range_size=chunk_size)
|
||||
|
|
|
@ -8,19 +8,20 @@ from anime_downloader import util
|
|||
|
||||
|
||||
class BaseDownloader:
|
||||
def __init__(self, source, path, force, range_size=None):
|
||||
def __init__(self, source, path, force, range_size=None, ssl=True):
|
||||
logging.info(path)
|
||||
|
||||
self.url = source.stream_url
|
||||
self.referer = source.referer
|
||||
self.path = path
|
||||
self.range_size = range_size
|
||||
self.ssl = ssl
|
||||
|
||||
util.make_dir(path.rsplit('/', 1)[0])
|
||||
|
||||
self.chunksize = 16384
|
||||
|
||||
r = requests.get(self.url, stream=True)
|
||||
r = requests.get(self.url, stream=True, verify=ssl)
|
||||
|
||||
self.total_size = int(r.headers['Content-length'])
|
||||
if os.path.exists(path):
|
||||
|
|
|
@ -21,7 +21,7 @@ class HTTPDownloader(BaseDownloader):
|
|||
with open(self.path, 'w'):
|
||||
pass
|
||||
|
||||
r = requests.get(self.url, stream=True)
|
||||
r = requests.get(self.url, stream=True, verify=self.ssl)
|
||||
while self.downloaded < self.total_size:
|
||||
r = requests.get(self.url,
|
||||
headers=set_range(range_start, range_end),
|
||||
|
@ -41,7 +41,7 @@ class HTTPDownloader(BaseDownloader):
|
|||
range_end = ''
|
||||
|
||||
def _non_range_download(self):
|
||||
r = requests.get(self.url, stream=True)
|
||||
r = requests.get(self.url, stream=True, verify=self.ssl)
|
||||
|
||||
if r.status_code == 200:
|
||||
with open(self.path, 'wb') as f:
|
||||
|
|
|
@ -166,7 +166,7 @@ class BaseEpisode:
|
|||
raise NotImplementedError
|
||||
|
||||
def download(self, force=False, path=None,
|
||||
format='{anime_title}_{ep_no}', range_size=None):
|
||||
format='{anime_title}_{ep_no}', range_size=None, ssl=True):
|
||||
logging.info('Downloading {}'.format(self.pretty_title))
|
||||
if format:
|
||||
file_name = util.format_filename(format, self)+'.mp4'
|
||||
|
@ -180,7 +180,7 @@ class BaseEpisode:
|
|||
|
||||
Downloader = get_downloader('http')
|
||||
downloader = Downloader(self.source(),
|
||||
path, force, range_size=range_size)
|
||||
path, force, range_size=range_size, ssl=ssl)
|
||||
|
||||
downloader.download()
|
||||
|
||||
|
|
Loading…
Reference in New Issue