Skip to content

Commit

Permalink
Python3 + add some info
Browse files Browse the repository at this point in the history
  • Loading branch information
Vadym Livertovsky committed Nov 27, 2021
1 parent 0957125 commit 94c958d
Showing 1 changed file with 81 additions and 69 deletions.
150 changes: 81 additions & 69 deletions godville.py
Original file line number Diff line number Diff line change
@@ -1,114 +1,126 @@
#!/usr/bin/python2
#!/usr/bin/env python3
'''Script to retrieve the info and stats from Godville'''
# -*- coding: utf-8 -*-
import urllib
from urllib.request import urlopen
import json

username = 'ZESAVER'
token = ''

resp = urllib.urlopen("http://godville.net/gods/api/"+username+"/"+token)
resp = urlopen("http://godville.net/gods/api/"+username+"/"+token)
data = json.loads(resp.read())

if not token:
# GENERAL
print "Героиня:" if data["gender"] == "female" else "Герой:", (data["name"].encode('utf-8'))
print 'Гильдия: %s в %s' % (data["clan_position"].encode('utf-8'), data["clan"].encode('utf-8')) if data["clan"] else 'Гильдия: нет'
print 'Характер:', data["alignment"].encode('utf-8')
print 'Девиз:', data["motto"].encode('utf-8')
print "Уровень: %.0f" % (data["level"])
print 'Золотых:', data["gold_approx"].encode('utf-8')
print("Героиня:" if data["gender"] ==
"female" else "Герой:", (data["name"]))
print('Гильдия: %s в %s' % (
data["clan_position"], data["clan"]) if data["clan"] else 'Гильдия: нет')
print('Характер:', data["alignment"])
print('Девиз:', data["motto"])
print("Уровень: %.0f" % (data["level"]))
print('Золотых:', data["gold_approx"])
# Temple
if data["bricks_cnt"] < 1000:
print "Кирпичей: %.0f/1000" % (data["bricks_cnt"])
print("Кирпичей: %.0f/1000" % (data["bricks_cnt"]))
elif data["wood_cnt"] < 1000:
print "Дерева гофер: %.0f/1000" % (data["wood_cnt"])
print("Дерева гофер: %.0f/1000" % (data["wood_cnt"]))
else:
print "Храм и ковчег достроены"
print "Дерева гофер: %.0f/1000" % (data["wood_cnt"])
print "Тварей по паре: %.0fм, %.0fж" % (data["ark_m"], data["ark_f"])
print "Сбережения: %s/30М" % (data["savings"].encode('utf-8'))
print
print("Храм и ковчег достроены")
print("Дерева гофер: %.0f/1000" % (data["wood_cnt"]))
print("Тварей по паре: %.0fм, %.0fж" % (data["ark_m"], data["ark_f"]))
print("Сбережения: %s/30М" % (data["savings"]))
print()

# PET
if "pet" in data:
print " Питомец:"
print "Имя:", data["pet"]["pet_name"].encode('utf-8')
# print "Вид:",data["pet"]["pet_class"].encode('utf-8') #temporary removed due undocumented changes in Godville API
print "Уровень:", data["pet"]["pet_level"]
print(" Питомец:")
print("Имя:", data["pet"]["pet_name"])
print("Вид:", data["pet"]["pet_class"])
print("Уровень:", data["pet"]["pet_level"])
if "wounded" in data["pet"]:
print "!!! Контужен !!!"
print
print("!!! Контужен !!!")
print()

# Arena
print "Арена: %.0f побед, %.0f поражений" % (data["arena_won"], data["arena_lost"])
print("Арена: %.0f побед, %.0f поражений" %
(data["arena_won"], data["arena_lost"]))
if "fight_type" in data:
if data["fight_type"] == "sail":
print "Заплыв!"
print("Заплыв!")
elif data["fight_type"] == "arena":
print "На арене!"
print("На арене!")
elif data["fight_type"] == "challenge":
print "Тренируется!"
print("Тренируется!")
elif data["fight_type"] == "dungeon":
print "В подземелье!"
print("В подземелье!")

else:
# GENERAL
print "Героиня:" if data["gender"] == "female" else "Герой:", (data["name"].encode('utf-8'))
print 'Гильдия: %s в %s' % (data["clan_position"].encode('utf-8'), data["clan"].encode('utf-8')) if data["clan"] else 'Гильдия: нет'
print 'Характер:', data["alignment"].encode('utf-8')
print 'Девиз:', data["motto"].encode('utf-8')
print "Уровень: %.0f (%.0f/100)" % (data["level"], data["exp_progress"])
print "Здоровье: %.0f/%.0f" % (data["health"], data["max_health"])
print "Прана: %.0f/100" % (data["godpower"])
print 'Золотых:', data["gold_approx"].encode('utf-8')
print("Героиня:" if data["gender"] ==
"female" else "Герой:", (data["name"]))
print('Гильдия: %s в %s' % (
data["clan_position"], data["clan"]) if data["clan"] else 'Гильдия: нет')
print('Характер:', data["alignment"])
print('Девиз:', data["motto"])
print("Уровень: %.0f (%.0f/100)" % (data["level"], data["exp_progress"]))
print("Здоровье: %.0f/%.0f" % (data["health"], data["max_health"]))
print("Прана: %.0f/100" % (data["godpower"]))
print('Золотых:', data["gold_approx"])
# Temple
if data["bricks_cnt"] < 1000:
print "Кирпичей: %.0f/1000" % (data["bricks_cnt"])
print("Кирпичей: %.0f/1000" % (data["bricks_cnt"]))
elif data["wood_cnt"] < 1000:
print "Дерева гофер: %.0f/1000" % (data["wood_cnt"])
print("Дерева гофер: %.0f/1000" % (data["wood_cnt"]))
elif "t_level" in data:
print "Храм, ковчег и лавка достроены. Пенсия..."
print "Дерева гофер: %.0f/1000" % (data["wood_cnt"])
print "Тварей по паре: %.0fм, %.0fж" % (data["ark_m"], data["ark_f"])
print "Уровень героя-торговца: %.0f" % (data["t_level"])
print
print("Храм, ковчег и лавка достроены. Пенсия...")
print("Дерева гофер: %.0f/1000" % (data["wood_cnt"]))
print("Слов в книге: %.0f/1000" % (data["words"]))
print("Тварей по паре: %.0fм, %.0fж" % (data["ark_m"], data["ark_f"]))
print("Уровень героя-торговца: %.0f" % (data["t_level"]))
print()
else:
print "Храм и ковчег достроены"
print "Дерева гофер: %.0f/1000" % (data["wood_cnt"])
print "Тварей по паре: %.0fм, %.0fж" % (data["ark_m"], data["ark_f"])
print "Сбережения: %s/30М" % (data["savings"].encode('utf-8'))
print
print 'Задание:', data["quest"].encode('utf-8'), "(%.0f/100)" % (data["quest_progress"])
print 'Последняя запись:', data["diary_last"].encode('utf-8')
print("Храм и ковчег достроены")
print("Дерева гофер: %.0f/1000" % (data["wood_cnt"]))
print("Слов в книге: %.0f/1000" % (data["words"]))
print("Тварей по паре: %.0fм, %.0fж" % (data["ark_m"], data["ark_f"]))
print("Сбережения: %s/30М" % (data["savings"]))
print()
print('Задание:', data["quest"],
"(%.0f/100)" % (data["quest_progress"]))
print('Последняя запись:', data["diary_last"])

if "town_name" in data: # if no town_name key present we suppose hero is on arena
if data["town_name"]:
print "Город:", data["town_name"].encode('utf-8')
print("Город:", data["town_name"])
else:
print "Столбов от столицы:", data["distance"]
print
print("Столбов от столицы:", data["distance"])
print()

# Arena
print "Арена: %.0f побед, %.0f поражений" % (data["arena_won"], data["arena_lost"])
print
print("Арена: %.0f побед, %.0f поражений" %
(data["arena_won"], data["arena_lost"]))
print()

# PET
if "pet" in data:
print " Питомец:"
print "Имя:", data["pet"]["pet_name"].encode('utf-8')
# print "Вид:",data["pet"]["pet_class"].encode('utf-8') #temporary removed due undocumented changes in Godville API
print "Уровень:", data["pet"]["pet_level"]
print(" Питомец:")
print("Имя:", data["pet"]["pet_name"])
print("Вид:", data["pet"]["pet_class"])
print("Уровень:", data["pet"]["pet_level"])
if "wounded" in data["pet"]:
print "!!! Контужен !!!"
print
print("!!! Контужен !!!")
print()

# INVENTORY
# if data["activatables"]:
# print "В карманах можно найти: %.0f/%.0f" % (data["activatables_num"],data["activatables_max_num"])
# activatables={}
# for n, v in data["activatables"].iteritems():
# activatables[v["pos"]] = " %s %s" % (v['pos']+1, n.encode('utf-8'))
# print "\n".join([activatables[i] for i in sorted(activatables.keys())])

# else:
# print "В карманах героини пусто" if data["gender"] == "female" else "В карманах героя пусто"
if data["inventory_num"] > 0:
print("Трофеев в карманах: %.0f" %
data["inventory_num"])
if data["activatables"]:
print("Из них активируемые:")
activatables = {}
for item in data["activatables"]:
print(" - %s" % item)
else:
print("В карманах героини пусто" if data["gender"]
== "female" else "В карманах героя пусто")

0 comments on commit 94c958d

Please sign in to comment.