Skip to main content

Interface for obtaining data about KHL teams

Project description

This package is the interface to the KHL teams data.

Available data:

  • information about players and stats

  • information about matches

  • team statistics

  • meta data

There is possibility to generate ics file from specific events. The title of teams and parameters statistics are displayed in Russian language only.

Usage

import datetime

from khl_team import KHLTeam, KHLEvent

team = KHLTeam('Локомотив')

"""
The title of the teams:

Авангард, Автомобилист, Адмирал, Ак Барс, Амур, Барыс, Витязь,
Динамо М, Динамо Мн, Динамо Р, Йокерит, Куньлунь Ред Стар, Лада,
Локомотив, Медвешчак, Металлург Мг, Металлург Нк, Нефтехимик,
Салават Юлаев, Северсталь, Сибирь, СКА, Слован, Спартак, Торпедо,
Трактор, ХК Сочи, ЦСКА, Югра.
"""

# Printing all data:
for attr in team.__dict__:
    print('%s : %s\n' % (attr, team.__dict__[attr]))

"""
sponsor :  ОАО "РЖД"

matches : [
    KHLEvent(Амур - Локомотив, 2016-08-24 12:30:00), KHLEvent(Адмирал - Локомотив, 2016-08-26 11:30:00),
    KHLEvent(Локомотив - Динамо М, 2016-08-29 19:00:00), KHLEvent(Локомотив - Авангард, 2016-08-31 19:00:00),
    KHLEvent(Локомотив - Металлург Нк, 2016-09-02 19:00:00), KHLEvent(Локомотив - Сибирь, 2016-09-05 19:00:00),
    KHLEvent(Лада - Локомотив, 2016-09-08 18:00:00), KHLEvent(Ак Барс - Локомотив, 2016-09-12 17:00:00),
    KHLEvent(Нефтехимик - Локомотив, 2016-09-14 19:30:00), KHLEvent(Локомотив - Торпедо, 2016-09-16 19:30:00),
    KHLEvent(Локомотив - Торпедо, 2016-09-18 17:30:00), KHLEvent(Локомотив - Спартак, 2016-09-20 19:00:00),
    KHLEvent(ХК Сочи - Локомотив, 2016-09-23 19:30:00), KHLEvent(Динамо М - Локомотив, 2016-09-26 19:30:00),
    ...
]

players : [
    KHLPlayer(Павел Евгеньевич Кудрявцев, 84), KHLPlayer(Павел Дмитриевич Красковский, 63),
    KHLPlayer(Денис Андреевич Осипов, 66), KHLPlayer(Роман Сергеевич Манухов, 26),
    KHLPlayer(Егор Алексеевич Коршков, 96), KHLPlayer(Станислав Михайлович Чистов, 41),
    KHLPlayer(Рушан Русланович Рафиков, 87), KHLPlayer(Даниил Юрьевич Апальков, 40),
    KHLPlayer(Егор Валерьевич Аверин, 29), KHLPlayer(Максим  Тальбо, 25),
    KHLPlayer(Дмитрий Евгеньевич Лугин, 19), KHLPlayer(Артём Сергеевич Ильенко, 34),
    KHLPlayer(Патрик  Херсли, 6), KHLPlayer(Андрей Вячеславович Локтионов, 90),
    KHLPlayer(Якуб  Накладал, 22), KHLPlayer(Денис Александрович Мосалёв, 54), KHLPlayer(Брэндон  Козун, 15),
    KHLPlayer(Егор Андреевич Фатеев, 8), KHLPlayer(Владислав Андреевич Гавриков, 4),
    KHLPlayer(Михаил Валерьевич Пашнин, 33),
     ...
]

# Team stats is divided into three parts: the first tuple is total stats, second - home, a third - guest.
# Percentage values are the average stat value.
stats : {
    'Выигранные вбрасывания (соперник) (% от возможных)': ('48.3%', '46.3%', '50.1%'),
    'Сыгранные матчи': ('57', '27', '30'),
    'Вбрасывания': ('3236', '1491', '1745'),
    'Разность шайб': [('28', '0.49'), ('20', '0.74'), ('8', '0.27')],
    'Штрафное время': [('626', '10.98'), ('276', '10.22'), ('350', '11.67')],
    'Пропущенные шайбы': [('122', '2.14'), ('55', '2.04'), ('67', '2.23')],
    'Поражения': [('17', '30%'), ('6', '22%'), ('11', '37%')],
    'Буллиты (назначенные / забитые)': [('1 / 1', '100%'), ('1 / 1', '100%'), ('0 / 0', '0%')],
    'Победы по буллитам': [('3', '5%'), ('0', '0%'), ('3', '10%')],
    'Реализация бросков (соперник)': ('8.4%', '8.3%', '8.5%'),
    'Реализация бросков': ('8.3%', '8.7%', '8%'),
    'Броски по воротам': [('1809', '31.74'), ('866', '32.07'), ('943', '31.43')],
    'Буллиты (соперник) (назначенные / забитые)': [('1 / 0', '0%'), ('1 / 0', '0%'), ('0 / 0', '0%')],
    'Заброшенные шайбы': [('150', '2.63'), ('75', '2.78'), ('75', '2.5')],
    'Победы': [('30', '53%'), ('18', '67%'), ('12', '40%')],
    'Поражения в овертайме': [('3', '5%'), ('2', '7%'), ('1', '3%')],
    'Победы в овертайме': [('1', '2%'), ('1', '4%'), ('0', '0%')],
    'Ничьи': [('0', '0%'), ('0', '0%'), ('0', '0%')],
    'Выигранные вбрасывания (% от возможных)': ('51.7%', '53.7%', '49.9%'),
    'Поражения по буллитам': [('3', '5%'), ('0', '0%'), ('3', '10%')],
    'Набранные очки': [('104', '61%'), ('58', '72%'), ('46', '51%')],
    'Броски по воротам (соперник)': [('1449', '25.42'), ('662', '24.52'), ('787', '26.23')],
    'Зрители': [('413365', '7252'), ('225834', '8364'), ('187531', '6251')]}

president :  Юрий Николаевич Яковлев

arena : Арена-2000-Локомотив

location : Ярославль

head_coach : Алексей Николаевич Кудашов

team : Локомотив

site : http://hclokomotiv.ru
"""

# Match filter.

# By opponent:
matches = team.get_match(opponent='СКА', played=True)
print(matches)

# Output:
# [KHLEvent(Локомотив - СКА, 2016-11-13 17:00:00), KHLEvent(СКА - Локомотив, 2016-12-29 19:30:00)]

# By result (won/lose):
matches = team.get_match(result='won', played=True)

# played parameter specifies whether to include games played.

# Player filter.

# By number:
player = team.get_player(number='27')
print(player)

# Output:
# [KHLPlayer(Стаффан  Кронвалль, 27)]

# By last name:
player = team.get_player(l_name='Кронвалль')

# By role:
players = team.get_player(role='вратарь')

# Generation of the ics file:
matches = team.get_match(played=False)
duration = datetime.timedelta(hours=3)
remind = datetime.timedelta(minutes=15)

ics_data = KHLEvent.gen_ics(
    matches,
    title="HockeyEvent: %s - %s",  # Will be inserted title teams.
    duration=duration,
    remind=remind
)

with open('hockey_events.ics', 'wb') as ics_file:
    ics_file.write(ics_data)

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

khl_team-1.0.zip (18.2 kB view details)

Uploaded Source

File details

Details for the file khl_team-1.0.zip.

File metadata

  • Download URL: khl_team-1.0.zip
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for khl_team-1.0.zip
Algorithm Hash digest
SHA256 c1fad6efc49b32cd635a95bc980d351bcf8053a59a0287cdea3078ef9538d283
MD5 96cb52c44a1f732c69a16b1c7ca65382
BLAKE2b-256 9f6265c3f5c5fe58508c409b7157783ec2f058fd4c7534c7f0da90aa7b13d1d7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page