diff options
author | VitaliyS <vitaliy@root.ua> | 2014-02-06 11:11:28 +0400 |
---|---|---|
committer | VitaliyS <vitaliy@root.ua> | 2014-02-06 11:11:28 +0400 |
commit | f163fb7be8569dfcdf47b717bc73496a43498d08 (patch) | |
tree | 7d02ad342248fb0cae70942552be938194335d6f | |
parent | 2870e5f613dfd7d5b345b3faafa2ab63eaf6b1aa (diff) |
upd: wot.py
-rw-r--r-- | data/locales/ru.txt | 11 | ||||
-rw-r--r-- | data/locales/ua.txt | 9 | ||||
-rw-r--r-- | plugins/wot.py | 35 |
3 files changed, 36 insertions, 19 deletions
diff --git a/data/locales/ru.txt b/data/locales/ru.txt index a107641..36b0995 100644 --- a/data/locales/ru.txt +++ b/data/locales/ru.txt @@ -1359,7 +1359,9 @@ none отсутствует 2 class 2 степень 1 class 1 степень master мастер -\n%s (%s/%s - %s%%), mastery: %s \n%s (%s/%s - %s%%), классность: %s +not in garage нет в ангаре +in garage в ангаре +\n%s (%s) - (%s/%s - %s%%), max.frags - %s, max.exp. - %s, mastery: %s \n%s (%s) - (%s/%s - %s%%), макс.фрагов - %s, макс.опыт - %s, знак классности: %s not founded tank танк не найден Impossible to get tanks' statistics Невозможно получить статистику танков \nUp to %s%% win left: %s battles \nДо %s%% побед осталось: %s битв @@ -1377,6 +1379,7 @@ Impossible to get tanks' statistics Невозможно получить ста - great player - превосходный игрок - unicum - уникум \nWN6 rating: %s (XVM: %s) \nРейтинг WN6: %s (XVM: %s) +\nWG rating: %s \nРейтинг WG: %s \nArmor-rating: %s \nРейтинг Бронесайта: %s - virtuoso - виртуоз - master tanker - мастер-танкист @@ -1393,7 +1396,7 @@ Player not found Игрок не найден Name: %s [%s] Название: %s [%s] \nOwner: %s \nВладелец: %s \nCreated at: %s \nДата создания: %s -\nCount of members: %s \nКоличество учасников: %s +\nCount of members: %s \nКоличество участников: %s \nMotto: %s \nДевиз: %s Clan not found Клан не найден Impossible to get info Невозможно получить информацию @@ -1831,5 +1834,5 @@ Youtube settings Настройки youtube API settings Настройки API # write locale file: ru.txt -# total: 1479 -# regenarated without mistakes! +# total: 1482 +# missed translations: 4 diff --git a/data/locales/ua.txt b/data/locales/ua.txt index 8391425..54da713 100644 --- a/data/locales/ua.txt +++ b/data/locales/ua.txt @@ -1359,7 +1359,9 @@ none відсутня 2 class 2 степінь 1 class 1 степінь master майстер -\n%s (%s/%s - %s%%), mastery: %s \n%s (%s/%s - %s%%), класність: %s +not in garage немає в ангарі +in garage в ангарі +\n%s (%s) - (%s/%s - %s%%), max.frags - %s, max.exp. - %s, mastery: %s \n%s (%s) - (%s/%s - %s%%), макс.фрагів - %s, макс.досв. - %s, знак класності: %s not founded tank танк не знайдено Impossible to get tanks' statistics Неможливо отримати статистику танків \nUp to %s%% win left: %s battles \nДо %s%% перемог залишилося: %s битв @@ -1377,6 +1379,7 @@ Impossible to get tanks' statistics Неможливо отримати стат - great player - чудовий гравець - unicum - унікум \nWN6 rating: %s (XVM: %s) \nРейтинг WN6: %s (XVM: %s) +\nWG rating: %s \nРейтинг WG: %s \nArmor-rating: %s \nРейтинг Бронесайту: %s - virtuoso - віртуоз - master tanker - майстер-танкіст @@ -1831,5 +1834,5 @@ Youtube settings Налаштування Youtube API settings Налаштування API # write locale file: ua.txt -# total: 1479 -# regenarated without mistakes! +# total: 1482 +# missed translations: 4 diff --git a/plugins/wot.py b/plugins/wot.py index 341ebe5..d1d6d5a 100644 --- a/plugins/wot.py +++ b/plugins/wot.py @@ -28,7 +28,7 @@ APP_ID = '171745d21f7f98fd8878771da1000a31'; clantags = re.compile('(\(.*?\))|(\[.*?\])')
def get_tanks_data():
- data = urllib.urlopen('%s/2.0/encyclopedia/tanks/?application_id=%s&fields=level,name_i18n,name' % (API_ADDR, APP_ID))
+ data = urllib.urlopen('%s/wot/encyclopedia/tanks/?application_id=%s&fields=level,name_i18n,name' % (API_ADDR, APP_ID))
d = json.load(data)
res = {}
for i in d['data']:
@@ -63,15 +63,23 @@ def wot(type, jid, nick, text): v = json.loads(data)
player_id = str(v['data'][0]['id'])
- data = load_page('%s/2.0/account/tanks/?application_id=%s&account_id=%s&fields=statistics,tank_id,mark_of_mastery' % (API_ADDR, APP_ID, player_id))
+ data = load_page('%s/2.0/tanks/stats/?application_id=%s&account_id=%s' % (API_ADDR, APP_ID, player_id))
vdata = json.loads(data)
- data = load_page('%s/2.0/account/info/?application_id=%s&account_id=%s&fields=clan,nickname,statistics' % (API_ADDR, APP_ID, player_id))
+ data = load_page('%s/2.0/account/tanks/?application_id=%s&account_id=%s&fields=mark_of_mastery,tank_id' % (API_ADDR, APP_ID, player_id))
+ vdata_old = json.loads(data)
+ vdata_old = dict([[i['tank_id'], i['mark_of_mastery']] for i in vdata_old['data'][player_id]])
+
+ data = load_page('%s/2.0/account/info/?application_id=%s&account_id=%s&fields=nickname,statistics,global_rating' % (API_ADDR, APP_ID, player_id))
pdata = json.loads(data)
stat = pdata['data'][player_id]['statistics']
- if pdata['data'][player_id]['clan']:
- clan_id = str(pdata['data'][player_id]['clan']['clan_id'])
+
+ data = load_page('%s/wot/clan/membersinfo/?application_id=%s&member_id=%s' % (API_ADDR, APP_ID, player_id))
+ claninfo = json.loads(data)
+
+ if claninfo['data'][player_id]:
+ clan_id = str(claninfo['data'][player_id]['clan_id'])
data = load_page('%s/2.0/clan/info//?application_id=%s&clan_id=%s&fields=abbreviation' % (API_ADDR, APP_ID, clan_id))
cdata = json.loads(data)
cname = cdata['data'][clan_id]['abbreviation']
@@ -79,7 +87,7 @@ def wot(type, jid, nick, text): pdata = {'status': ''}
if pdata['status'] == 'ok' and pdata['data'][player_id]:
- wotname = pdata['data'][player_id]['nickname'] + ('[%s]' % cname if pdata['data'][player_id]['clan'] else '')
+ wotname = pdata['data'][player_id]['nickname'] + ('[%s]' % cname if claninfo['data'][player_id] else '')
if tank:
if len(tank) == 1:
@@ -91,11 +99,12 @@ def wot(type, jid, nick, text): for t in vdata['data'][player_id]:
if str(t['tank_id']) in tids:
- tank_win = t['statistics']['wins']
- tank_battle = t['statistics']['battles']
- mom = [L('none','%s/%s'%(jid,nick)), L('3 class','%s/%s'%(jid,nick)), L('2 class','%s/%s'%(jid,nick)), L('1 class','%s/%s'%(jid,nick)), L('master','%s/%s'%(jid,nick))][t['mark_of_mastery']]
+ tank_win = t['all']['wins']
+ tank_battle = t['all']['battles']
+ mom = [L('none','%s/%s'%(jid,nick)), L('3 class','%s/%s'%(jid,nick)), L('2 class','%s/%s'%(jid,nick)), L('1 class','%s/%s'%(jid,nick)), L('master','%s/%s'%(jid,nick))][vdata_old[t['tank_id']]]
+ ingrg = [L('not in garage','%s/%s'%(jid,nick)), L('in garage','%s/%s'%(jid,nick))][t['in_garage']]
if tank_battle:
- msg += L('\n%s (%s/%s - %s%%), mastery: %s','%s/%s'%(jid,nick)) % (tanks_data[str(t['tank_id'])]['name_i18n'], tank_win, tank_battle, round(100.0*tank_win/tank_battle, 2), mom)
+ msg += L('\n%s (%s) - (%s/%s - %s%%), max.frags - %s, max.exp. - %s, mastery: %s','%s/%s'%(jid,nick)) % (tanks_data[str(t['tank_id'])]['name_i18n'], ingrg, tank_win, tank_battle, round(100.0*tank_win/tank_battle, 2), t['max_frags'], t['max_xp'], mom)
else:
msg += '\n%s (%s/%s)' % (tanks_data[str(t['tank_id'])]['name_i18n'], tank_win, tank_battle)
if not msg.count('\n'):
@@ -137,8 +146,8 @@ def wot(type, jid, nick, text): msg += L('\nAv. defense points: %s','%s/%s'%(jid,nick)) % round(DEF, 2)
- tanks = vdata['data'][player_id]
- s = sum([t['statistics']['all']['battles'] * tanks_data[str(t['tank_id'])]['level'] for t in tanks])
+ tanks = [vh for vh in vdata['data'][player_id] if vh['all']['battles']]
+ s = sum([t['all']['battles'] * tanks_data[str(t['tank_id'])]['level'] for t in tanks])
TIER = s / float(battles)
WINRATE = wins / float(battles)
@@ -189,6 +198,8 @@ def wot(type, jid, nick, text): elif wn6 >= 1885:
msg += L(' - unicum','%s/%s'%(jid,nick))
+ msg += L('\nWG rating: %s','%s/%s'%(jid,nick)) % pdata['data'][player_id]['global_rating']
+
stat_rnd = lambda x: stat['all'][x] - stat['clan'][x] - stat['company'][x]
armor = math.log(stat_rnd('battles')) / 10 * (stat_rnd('xp')/float(stat_rnd('battles')) + stat_rnd('damage_dealt')/float(stat_rnd('battles')) * (stat_rnd('wins') * 2 + stat_rnd('frags') * 0.9 + (stat_rnd('spotted') + stat_rnd('capture_points') + stat_rnd('dropped_capture_points')) * 0.5)/float(stat_rnd('battles')))
|