Skip to content

Commit

Permalink
Merge pull request #617 from nate-moo/patch-1
Browse files Browse the repository at this point in the history
Adding support for android intents
  • Loading branch information
AbdullahM0hamed committed Feb 8, 2021
2 parents 8616b00 + 0efae72 commit 3a6ef87
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 15 deletions.
7 changes: 5 additions & 2 deletions anime_downloader/commands/dl.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,14 +123,17 @@ def command(ctx, anime_url, episode_range, url, player, skip_download, quality,
for episode in animes:
if skip_fillers and fillers:
if episode.ep_no in fillers:
logger.info("Skipping episode {} because it is a filler.".format(episode.ep_no))
logger.info(
"Skipping episode {} because it is a filler.".format(episode.ep_no))
continue

if url:
util.print_episodeurl(episode)

if player:
util.play_episode(episode, player=player, title=f'{anime.title} - Episode {episode.ep_no}')
episode_range = f"0:{len(animes)}" if not episode_range else episode_range
util.play_episode(
episode, player=player, title=f'{anime.title} - Episode {episode.ep_no}', episodes=episode_range)

if not skip_download:
if external_downloader:
Expand Down
34 changes: 21 additions & 13 deletions anime_downloader/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,8 @@ def parse_episode_range(max_range, episode_range):
if not episode_range:
episode_range = '1:'
if episode_range.endswith(':'):
length = max_range if type(max_range) == int else (int(max_range._episode_urls[-1][0]))
length = max_range if type(max_range) == int else (
int(max_range._episode_urls[-1][0]))
episode_range += str(length + 1)
if episode_range.startswith(':'):
episode_range = '1' + episode_range
Expand Down Expand Up @@ -222,16 +223,20 @@ def print_episodeurl(episode):
print(unquote(url))


def play_episode(episode, *, player, title):
def play_episode(episode, *, player, title, episodes="0:0"):
if player == 'mpv':
p = subprocess.Popen([player,
f'--title={title}',
f'--referrer={episode.source().referer}',
f'--user-agent={get_random_header()["user-agent"]}',
episode.source().stream_url])
p = subprocess.Popen([player,
f'--title={title}',
f'--referrer={episode.source().referer}',
f'--user-agent={get_random_header()["user-agent"]}',
episode.source().stream_url])
elif player == "android":
p = subprocess.Popen(['am', 'start', '-a', 'android.intent.action.VIEW',
'-t', 'video/*', '-d', f'{episode.source().stream_url}'])
if episodes == None or ':' in episodes and episodes != "0:1":
input("Press enter to continue\n")
else:
p = subprocess.Popen([player, episode.source().stream_url
])
p = subprocess.Popen([player, episode.source().stream_url])
p.wait()


Expand Down Expand Up @@ -273,8 +278,9 @@ def format_filename(filename, episode):
def format_command(cmd, episode, file_format, speed_limit, path):
from anime_downloader.config import Config
if not Config._CONFIG['dl']['aria2c_for_torrents'] and (episode.url.startswith('magnet:?xt=urn:btih:') or episode.source().stream_url.startswith('https://magnet:?xt=urn:btih:')):
url = episode.url if episode.url.startswith("magnet") else episode.source().stream_url
url = url.replace("https://","")
url = episode.url if episode.url.startswith(
"magnet") else episode.source().stream_url
url = url.replace("https://", "")
return ['open', url]

# For aria2c.
Expand Down Expand Up @@ -303,8 +309,10 @@ def format_command(cmd, episode, file_format, speed_limit, path):
else:
useragent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36'

stream_url = episode.source().stream_url if not episode.url.startswith('magnet:?xt=urn:btih:') else episode.url
stream_url = stream_url if 'magnet:?xt=urn:btih:' not in stream_url else stream_url.replace('https://', '')
stream_url = episode.source().stream_url if not episode.url.startswith(
'magnet:?xt=urn:btih:') else episode.url
stream_url = stream_url if 'magnet:?xt=urn:btih:' not in stream_url else stream_url.replace(
'https://', '')

rep_dict = {
'stream_url': stream_url,
Expand Down

0 comments on commit 3a6ef87

Please sign in to comment.