From e57270fd35f9ae1d0e9dc676d17a371322a5b231 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 12 Jul 2020 13:54:18 +0200 Subject: Prompt which nyaa.si submitter to track --- automedia.py | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/automedia.py b/automedia.py index 0dc42b7..b4c7d41 100755 --- a/automedia.py +++ b/automedia.py @@ -237,25 +237,39 @@ def get_matching_html_items_by_name(html_items1, html_items2): return matching_items def get_rss_from_episode_info(episode_name_raw, episode_info): - user_failed = False + submitter_query_text = '' + if episode_info.group_name: + submitter_query_text = 'Enter the name of the submitter (leave empty to choose "%s", or type "anon" to choose all submitters): ' % episode_info.group_name + else: + submitter_query_text = 'Enter the name of the submitter (type anon to choose all submitters): ' - group_name_escaped = urllib.parse.quote(episode_info.group_name) - user_page_response = requests.head("https://nyaa.si/user/" + group_name_escaped) - if not user_page_response.ok: - user_failed = True - print("Warning: Failed to get user nyaa.si user from '%s'" % episode_name_raw) + selected_submitter = None + while True: + response = input(submitter_query_text) + if response == "anon": + break + elif len(response) > 0 or (len(response) == 0 and episode_info.group_name): + if len(response) == 0: + response = episode_info.group_name + group_name_escaped = urllib.parse.quote(response) + user_page_response = requests.head("https://nyaa.si/user/" + group_name_escaped) + if user_page_response.ok: + selected_submitter = response + break + else: + print('The submitter "%s" doesn\'t exist on nyaa.si, please choose another submitter.' % response) generic_name = episode_info.get_generic_name() while True: - response = input('Are you sure you want to track "%s" by "%s" after "%s" ? (Y)es/No: ' % (generic_name, "all users" if user_failed else episode_info.group_name, episode_name_raw)) + response = input('Are you sure you want to track "%s" by %s after "%s" ? (Y)es/No: ' % (generic_name, '"%s"' % selected_submitter if selected_submitter else "all submitters", episode_name_raw)) if len(response) > 0 and response[0].lower() == 'n': return None elif len(response) == 0 or response[0].lower() == 'y': break nyaa_rss = 'https://nyaa.si/?page=rss&q={}&c=0_0&f=0'.format(urllib.parse.quote(generic_name)) - if not user_failed: - nyaa_rss += '&u={}'.format(group_name_escaped) + if selected_submitter: + nyaa_rss += '&u={}'.format(urllib.parse.quote(selected_submitter)) return nyaa_rss def add_rss(name, url, rss_config_dir, start_after): -- cgit v1.2.3