Skip to content

Commit a7fd976

Browse files
committed
add error handling for rank check
1 parent 7f5f946 commit a7fd976

3 files changed

Lines changed: 15 additions & 3 deletions

File tree

taskapp.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
complete_task_unofficial_tier, get_user, get_leaderboard,
1616
get_roll_candidates_for_tier)
1717
import send_grid_email
18-
from templesync import check_logs
18+
from templesync import check_logs, temple_player_data
1919

2020
app = Flask(__name__)
2121

@@ -481,6 +481,9 @@ def collection_log_check():
481481
form_data = request.form
482482
rs_username = form_data['username']
483483
lms_enabled = get_lms_status(session['username'])
484+
if not temple_player_data(rs_username):
485+
return render_template('collection_log_check.html', rs_username = rs_username,
486+
error = "Player has not synced their collecton log on TempleOSRS yet")
484487
easy_check = check_logs(rs_username, tasklists.list_for_tier('easy', lms_enabled), 'check')
485488
medium_check = check_logs(rs_username, tasklists.list_for_tier('medium', lms_enabled), 'check')
486489
hard_check = check_logs(rs_username, tasklists.list_for_tier('hard', lms_enabled), 'check')

templates/collection_log_check.html

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
<div>
22
<h3>Rank Up Results For: {{rs_username}}</h3>
33
</div>
4+
{% if error %}
5+
<div class="rank-results-row">
6+
<span>Response from TempleOSRS API: <p class="incomplete">{{error}}.</p></span>
7+
8+
<div>
9+
{% else %}
410
<div class="rank-results-row">
511
<p>Easy Tier:</p>
612
{% if easy_check %}
@@ -60,4 +66,5 @@ <h3>Rank Up Results For: {{rs_username}}</h3>
6066
{% else %}
6167
<p class="complete">COMPLETE</p>
6268
{% endif %}
63-
</div>
69+
</div>
70+
{% endif %}

templesync.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ def temple_player_data(username: str):
99
player_data = requests.get(f'https://templeosrs.com/api/collection-log/player_collection_log.php?player={username}&categories=all&itemsonly&includenames=1&onlyitems=1').json()
1010
used_id = set()
1111
cleaned_player_data = list()
12+
if not player_data.get('data'):
13+
return cleaned_player_data
1214
for item in player_data['data']['items']:
1315
if item['id'] not in used_id:
1416
used_id.add(item['id'])
@@ -134,4 +136,4 @@ def format_completed_tasks(completed_tasks: dict):
134136

135137

136138
if __name__ == "__main__":
137-
check_logs('Gerni Task', tasklists.list_for_tier('easy'), 'import')
139+
check_logs('Gerni Task', tasklists.list_for_tier('easy'), 'check')

0 commit comments

Comments
 (0)