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
Jonas A. Walther 2018-10-04 11:41:33 +02:00 committed by Vishnunarayan K I
parent 0049ea6b20
commit b016f6222e
4 changed files with 15 additions and 8 deletions

View File

@ -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)

View File

@ -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):

View File

@ -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:

View File

@ -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()