Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/isida/3.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitaliyS <vitaliy@root.ua>2014-02-06 11:11:28 +0400
committerVitaliyS <vitaliy@root.ua>2014-02-06 11:11:28 +0400
commitf163fb7be8569dfcdf47b717bc73496a43498d08 (patch)
tree7d02ad342248fb0cae70942552be938194335d6f
parent2870e5f613dfd7d5b345b3faafa2ab63eaf6b1aa (diff)
upd: wot.py
-rw-r--r--data/locales/ru.txt11
-rw-r--r--data/locales/ua.txt9
-rw-r--r--plugins/wot.py35
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')))