mirror of
https://gitlab.com/dword4/nhlapi
synced 2024-11-25 12:04:55 +00:00
adding script and example output
This commit is contained in:
parent
960d9dcb25
commit
e9e9e9a76b
304
scripts/output.md
Normal file
304
scripts/output.md
Normal file
@ -0,0 +1,304 @@
|
|||||||
|
0: v1/player-spotlight
|
||||||
|
method
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
1: v1/schedule
|
||||||
|
resource
|
||||||
|
now
|
||||||
|
Example: v1/schedule/now
|
||||||
|
|
||||||
|
{date: [0-9]{4}-[0-9]{2}-[0-9]{2}}
|
||||||
|
Example: v1/schedule/{date: [0-9]{4}-[0-9]{2}-[0-9]{2}}
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
2: v1/standings-season
|
||||||
|
method
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
3: /v1/schedule/playoff-series
|
||||||
|
resource
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
4: /v1/score
|
||||||
|
resource
|
||||||
|
now
|
||||||
|
Example: /v1/score/now
|
||||||
|
|
||||||
|
{date: [0-9]{4}-[0-9]{2}-[0-9]{2}}
|
||||||
|
Example: /v1/score/{date: [0-9]{4}-[0-9]{2}-[0-9]{2}}
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
5: v1/location
|
||||||
|
method
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
6: v1/season
|
||||||
|
method
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
7: v1/skater-stats-leaders
|
||||||
|
resource
|
||||||
|
current
|
||||||
|
Example: v1/skater-stats-leaders/current
|
||||||
|
|
||||||
|
{season: [0-9]{8}}/{game-type: [0-9]}
|
||||||
|
Example: v1/skater-stats-leaders/{season: [0-9]{8}}/{game-type: [0-9]}
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
8: v1/where-to-watch
|
||||||
|
method
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
9: v1/club-stats
|
||||||
|
resource
|
||||||
|
{team: \w{3}}/now
|
||||||
|
Example: v1/club-stats/{team: \w{3}}/now
|
||||||
|
|
||||||
|
{team: \w{3}}/{season: [0-9]{8}}/{game-type: [0-9]}
|
||||||
|
Example: v1/club-stats/{team: \w{3}}/{season: [0-9]{8}}/{game-type: [0-9]}
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
10: v1/prospects
|
||||||
|
resource
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
11: /v1/postal-lookup
|
||||||
|
resource
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
12: v1/club-schedule-season
|
||||||
|
resource
|
||||||
|
{team: \w{3}}/now
|
||||||
|
Example: v1/club-schedule-season/{team: \w{3}}/now
|
||||||
|
|
||||||
|
{team: \w{3}}/{season: [0-9]{8}}
|
||||||
|
Example: v1/club-schedule-season/{team: \w{3}}/{season: [0-9]{8}}
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
13: v1/playoff-series
|
||||||
|
resource
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
14: v1/draft-tracker
|
||||||
|
resource
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
15: /v1/draft/picks
|
||||||
|
resource
|
||||||
|
{year: [0-9]{4}}/{round: [0-9]{1,2}}
|
||||||
|
Example: /v1/draft/picks/{year: [0-9]{4}}/{round: [0-9]{1,2}}
|
||||||
|
|
||||||
|
now
|
||||||
|
Example: /v1/draft/picks/now
|
||||||
|
|
||||||
|
{year: [0-9]{4}}/all
|
||||||
|
Example: /v1/draft/picks/{year: [0-9]{4}}/all
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
16: v1/scoreboard
|
||||||
|
resource
|
||||||
|
{team: \w{3}}/now
|
||||||
|
Example: v1/scoreboard/{team: \w{3}}/now
|
||||||
|
|
||||||
|
now
|
||||||
|
Example: v1/scoreboard/now
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
17: v1/roster
|
||||||
|
resource
|
||||||
|
{team: \w{3}}/current
|
||||||
|
Example: v1/roster/{team: \w{3}}/current
|
||||||
|
|
||||||
|
{team: \w{3}}/{season: [0-9]{8}}
|
||||||
|
Example: v1/roster/{team: \w{3}}/{season: [0-9]{8}}
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
18: v1/club-schedule
|
||||||
|
resource
|
||||||
|
{team: \w{3}}/month/now
|
||||||
|
Example: v1/club-schedule/{team: \w{3}}/month/now
|
||||||
|
|
||||||
|
{team: \w{3}}/month/{month: [0-9]{4}-[0-9]{2}}
|
||||||
|
Example: v1/club-schedule/{team: \w{3}}/month/{month: [0-9]{4}-[0-9]{2}}
|
||||||
|
|
||||||
|
{team: \w{3}}/week/{date: [0-9]{4}-[0-9]{2}-[0-9]{2}}
|
||||||
|
Example: v1/club-schedule/{team: \w{3}}/week/{date: [0-9]{4}-[0-9]{2}-[0-9]{2}}
|
||||||
|
|
||||||
|
{team: \w{3}}/week/now
|
||||||
|
Example: v1/club-schedule/{team: \w{3}}/week/now
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
19: /v1/ppt-replay
|
||||||
|
resource
|
||||||
|
/goal/{game-id}/{event-number}
|
||||||
|
Example: /v1/ppt-replay//goal/{game-id}/{event-number}
|
||||||
|
|
||||||
|
{game-id}/{event-number}
|
||||||
|
Example: /v1/ppt-replay/{game-id}/{event-number}
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
20: v1/standings
|
||||||
|
resource
|
||||||
|
now
|
||||||
|
Example: v1/standings/now
|
||||||
|
|
||||||
|
{date: [0-9]{4}-[0-9]{2}-[0-9]{2}}
|
||||||
|
Example: v1/standings/{date: [0-9]{4}-[0-9]{2}-[0-9]{2}}
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
21: v1/player
|
||||||
|
resource
|
||||||
|
{player}/game-log/{season: [0-9]{8}}/{game-type: [0-9]}
|
||||||
|
Example: v1/player/{player}/game-log/{season: [0-9]{8}}/{game-type: [0-9]}
|
||||||
|
|
||||||
|
{player}/landing
|
||||||
|
Example: v1/player/{player}/landing
|
||||||
|
|
||||||
|
{player}/game-log/now
|
||||||
|
Example: v1/player/{player}/game-log/now
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
22: v1/roster-season
|
||||||
|
resource
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
23: v1/gamecenter
|
||||||
|
resource
|
||||||
|
{game-id: \d+}/play-by-play
|
||||||
|
Example: v1/gamecenter/{game-id: \d+}/play-by-play
|
||||||
|
|
||||||
|
{game-id: \d+}/right-rail
|
||||||
|
Example: v1/gamecenter/{game-id: \d+}/right-rail
|
||||||
|
|
||||||
|
{game-id: \d+}/landing
|
||||||
|
Example: v1/gamecenter/{game-id: \d+}/landing
|
||||||
|
|
||||||
|
{game-id: \d+}/boxscore
|
||||||
|
Example: v1/gamecenter/{game-id: \d+}/boxscore
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
24: v1/meta
|
||||||
|
method
|
||||||
|
resource
|
||||||
|
playoff-series/{year}/{series_letter}
|
||||||
|
Example: v1/meta/playoff-series/{year}/{series_letter}
|
||||||
|
|
||||||
|
game/{game-id: \d+}
|
||||||
|
Example: v1/meta/game/{game-id: \d+}
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
25: v1/wsc/game-story
|
||||||
|
resource
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
26: v1/goalie-stats-leaders
|
||||||
|
resource
|
||||||
|
current
|
||||||
|
Example: v1/goalie-stats-leaders/current
|
||||||
|
|
||||||
|
{season: [0-9]{8}}/{game-type: [0-9]}
|
||||||
|
Example: v1/goalie-stats-leaders/{season: [0-9]{8}}/{game-type: [0-9]}
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
27: /v1/draft/rankings
|
||||||
|
resource
|
||||||
|
{year}/{category}
|
||||||
|
Example: /v1/draft/rankings/{year}/{category}
|
||||||
|
|
||||||
|
now
|
||||||
|
Example: /v1/draft/rankings/now
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
28: v1/playoff-bracket
|
||||||
|
resource
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
29: /v1/partner-game/{country-code}/now
|
||||||
|
param
|
||||||
|
method
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
30: v1/network
|
||||||
|
resource
|
||||||
|
tv-schedule/{date: [0-9]{4}-[0-9]{2}-[0-9]{2}}
|
||||||
|
Example: v1/network/tv-schedule/{date: [0-9]{4}-[0-9]{2}-[0-9]{2}}
|
||||||
|
|
||||||
|
tv-schedule/now
|
||||||
|
Example: v1/network/tv-schedule/now
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
31: model/v1/openapi.json
|
||||||
|
method
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
32: v1/schedule-calendar
|
||||||
|
resource
|
||||||
|
now
|
||||||
|
Example: v1/schedule-calendar/now
|
||||||
|
|
||||||
|
{date: [0-9]{4}-[0-9]{2}-[0-9]{2}}
|
||||||
|
Example: v1/schedule-calendar/{date: [0-9]{4}-[0-9]{2}-[0-9]{2}}
|
||||||
|
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
33: v1/club-stats-season
|
||||||
|
resource
|
||||||
|
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
34: application.wadl
|
||||||
|
method
|
||||||
|
resource
|
||||||
|
jersey:extended
|
||||||
|
|
||||||
|
++++++++++++++++++
|
67
scripts/wadl-map.py
Normal file
67
scripts/wadl-map.py
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
import requests
|
||||||
|
import xmltodict
|
||||||
|
import json
|
||||||
|
|
||||||
|
url = "https://api-web.nhle.com/application.wadl?detail=true"
|
||||||
|
attributes = [
|
||||||
|
"@path",
|
||||||
|
"@base",
|
||||||
|
"@href",
|
||||||
|
"@id",
|
||||||
|
"@itsn",
|
||||||
|
"@jersey",
|
||||||
|
"@mediaType",
|
||||||
|
"@name",
|
||||||
|
"@path",
|
||||||
|
"@style",
|
||||||
|
"@title",
|
||||||
|
"@type",
|
||||||
|
"@xml",
|
||||||
|
"@xmlns"
|
||||||
|
]
|
||||||
|
|
||||||
|
def remove_at_symbols(data):
|
||||||
|
if isinstance(data, dict):
|
||||||
|
# Process each key-value pair in the dictionary
|
||||||
|
new_data = {}
|
||||||
|
for key, value in data.items():
|
||||||
|
# Remove @ symbol from the key
|
||||||
|
new_key = key.lstrip('@')
|
||||||
|
new_data[new_key] = remove_at_symbols(value)
|
||||||
|
return new_data
|
||||||
|
elif isinstance(data, list):
|
||||||
|
# Process each item in the list
|
||||||
|
return [remove_at_symbols(item) for item in data]
|
||||||
|
else:
|
||||||
|
# Return data as-is if it's not a dict or list
|
||||||
|
return data
|
||||||
|
|
||||||
|
reps = []
|
||||||
|
for a in attributes:
|
||||||
|
line_item = {"target":f"{a}", "new":f"{a[1:]}"}
|
||||||
|
reps.append(line_item)
|
||||||
|
|
||||||
|
res_plain = requests.get(url)
|
||||||
|
res_cleaned = res_plain.text.replace("@", "")
|
||||||
|
|
||||||
|
for l in reps:
|
||||||
|
res_cleaned = res_cleaned.replace(f'{l["target"]}', f'{l["new"]}')
|
||||||
|
|
||||||
|
new_json = xmltodict.parse(res_cleaned)
|
||||||
|
cleaned = remove_at_symbols(new_json)
|
||||||
|
|
||||||
|
i = 0
|
||||||
|
for line in cleaned['application']['resources']['resource']:
|
||||||
|
for item in line:
|
||||||
|
if item == "path":
|
||||||
|
print(f"{i}: {line['path']}")
|
||||||
|
elif item == "resource" and isinstance(line[item], list):
|
||||||
|
print(f"{item}")
|
||||||
|
for sub_item in line[item]:
|
||||||
|
print(f"\t{sub_item['path']}")
|
||||||
|
print(f"\tExample: {line['path']}/{sub_item['path']}\n")
|
||||||
|
else:
|
||||||
|
print(f"{item}")
|
||||||
|
print("\n++++++++++++++++++\n")
|
||||||
|
i += 1
|
||||||
|
|
Loading…
Reference in New Issue
Block a user