diff --git a/devtools/create_achievements/create_achievements.sh b/devtools/create_achievements/create_achievements.sh index 27fd4c8fc7b..83ccbdc5032 100644 --- a/devtools/create_achievements/create_achievements.sh +++ b/devtools/create_achievements/create_achievements.sh @@ -1,5 +1,9 @@ #!/bin/sh +set -e + +trap "echo FAILURE: $0 failed to create achievements.dat" ERR + #AGS games: python steam_achievements.py -v --steamid 80310 python steam_achievements.py -v --steamid 80330 @@ -84,4 +88,7 @@ python steam_achievements.py -v --steamid 574420 python steam_achievements.py -v --steamid 1064660 zip -9j achievements.dat gen/* static/* -mv -vf achievements.dat ../../dists/engine-data \ No newline at end of file +mv -vf achievements.dat ../../dists/engine-data + +echo SUCCESS +exit 0 diff --git a/devtools/create_achievements/steam_achievements.py b/devtools/create_achievements/steam_achievements.py index 89a46b45974..66c8fb96555 100644 --- a/devtools/create_achievements/steam_achievements.py +++ b/devtools/create_achievements/steam_achievements.py @@ -36,6 +36,7 @@ try: achievements_columns = 3 # id, text, img achievements_entries = int(len(achievements_rows) / achievements_columns) if achievements_entries == 0: + sys.stderr.write("found NO achievements\n".format(achievements_entries)) sys.exit(127) if args.verbose: @@ -62,8 +63,14 @@ try: for i in range(achievements_entries): idx = achievements_columns * i id = achievements_rows[idx + 0].text.strip() - title = achievements_rows[idx + 1].text.strip().split("\n")[0] - descr = achievements_rows[idx + 1].text.strip().split("\n")[1] + texts = achievements_rows[idx + 1].text.strip().split("\n") + + if len(texts) != 2: + sys.stderr.write("Unexpected description format: %s\n".format(repr(texts))) + sys.exit(127) + + title = texts[0] + descr = texts[1] hide = descr == "Hidden." if descr in ["No description.", "Hidden."]: descr = "" @@ -97,3 +104,4 @@ try: except requests.exceptions.RequestException as e: print(e) + sys.exit(127)