Skip to content

Commit

Permalink
Merge pull request #21 from American-Soccer-Analysis/asa-197
Browse files Browse the repository at this point in the history
Fix bug where lists weren't getting converted to comma separated strings before calling API
  • Loading branch information
tyler-richardett authored Feb 22, 2022
2 parents 93d9372 + 8f85184 commit 9aeac88
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 19 deletions.
4 changes: 4 additions & 0 deletions python-package/itscalledsoccer/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,10 @@ def _execute_query(
:param params: URL query strings
:returns: Dataframe
"""
for k, v in params.items():
if isinstance(v, list):
params[k] = ",".join(v)

temp_response = self._single_request(url, params)
response = temp_response

Expand Down
2 changes: 1 addition & 1 deletion python-package/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
setup(
name="itscalledsoccer",
packages=find_packages(exclude=["tests", "tests.*"]),
version="0.1.2",
version="0.1.3",
description="Programmatically interact with the American Soccer Analysis API",
long_description=long_description,
long_description_content_type = "text/markdown",
Expand Down
30 changes: 15 additions & 15 deletions python-package/tests/features/entities.feature
Original file line number Diff line number Diff line change
Expand Up @@ -70,20 +70,20 @@ Feature: Entities functions

@games
Examples:
| entity | args |
| games | leagues=mls seasons=2020 |
| games | leagues=[mls,uslc] seasons=2020 |
| games | game_ids=9z5kdxgKqA |
| games | game_ids=[9z5kdxgKqA,9z5kAnbPQA] |
| games | team_ids=Vj58weDM8n |
| games | team_ids=[Vj58weDM8n,9Yqdwg85vJ] |
| games | team_names=Union |
| games | team_names=[Philadelphia,Portland] |
| games | leagues=mls game_ids=[9z5kdxgKqA,9z5kAnbPQA] |
| games | leagues=mls team_names=Philadelphia Union |
| games | seasons=2020 |
| games | seasons=[2020,2021] |
| games | stages=Playoffs |
| games | stages=[Playoffs,Regular Season] |
| entity | args |
| games | leagues=mls seasons=2020 |
| games | leagues=[mls,uslc] seasons=2020 |
| games | game_ids=9z5kdxgKqA |
| games | game_ids=[9z5kdxgKqA,9z5kAnbPQA] |
| games | team_ids=Vj58weDM8n |
| games | team_ids=[Vj58weDM8n,9Yqdwg85vJ] |
| games | team_names=Union |
| games | team_names=[Philadelphia,Portland] |
| games | leagues=mls game_ids=[9z5kdxgKqA,9z5kAnbPQA] |
| games | leagues=mls team_names=Philadelphia Union |
| games | seasons=2020 |
| games | seasons=[2020,2021] |
| games | stages=Playoffs |
| games | stages=[Playoffs,Regular Season] seasons=2021 |

# TODO: Add expected failure scenarios
16 changes: 13 additions & 3 deletions python-package/tests/features/stats.feature
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ Feature: Stats functions
| player | split_by_seasons=true season_name=[2015,2016] | goals_added |
| player | split_by_games=true season_name=2020 general_position=CB | goals_added |
| player | stage_name=Playoffs | goals_added |
| player | stage_name=[Playoffs,Regular Season] | goals_added |
| player | stage_name=[Playoffs,Regular Season] season_name=2021 | goals_added |
| player | action_type=Passing leagues=mls | goals_added |
| player | action_type=[Passing,Shooting] leagues=mls | goals_added |
| player | above_replacement=true leagues=mls | goals_added |
Expand Down Expand Up @@ -195,7 +195,7 @@ Feature: Stats functions
| player | split_by_seasons=true season_name=[2015,2016] | xpass |
| player | split_by_games=true season_name=2020 general_position=CB | xpass |
| player | stage_name=Playoffs | xpass |
| player | stage_name=[Playoffs,Regular Season] | xpass |
| player | stage_name=[Playoffs,Regular Season] season_name=2021 | xpass |
| player | pass_origin_third=Defensive leagues=mls | xpass |
| player | pass_origin_third=[Defensive,Middle] leagues=mls | xpass |

Expand Down Expand Up @@ -236,7 +236,7 @@ Feature: Stats functions
| player | start_date=2020-07-01 end_date=2021-07-08 | salaries |
| player | position=M season_name=2019 | salaries |
| player | position=[D,M] season_name=2018 | salaries |
| player | season_name=[2019,2020] | salaries |
| player | season_name=[2019,2020] position=M | salaries |


@team_salaries
Expand All @@ -254,4 +254,14 @@ Feature: Stats functions
| team | split_by_positions=true season_name=2020 | salaries |


Scenario Outline: Expecting multiple rows of data
Given there is an ASA client
When the "get_<type>_<stat>" function is called with arguments "<args>"
Then there is multiple rows of data

Examples:
| type | args | stat |
| game | leagues=mls game_id=[aDQ037dpqE,NPqxr10gM9] | xgoals |


# TODO: Add expected failure scenarios
6 changes: 6 additions & 0 deletions python-package/tests/features/steps/common_steps.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,12 @@ def step_impl(context):
assert isinstance(context.response, DataFrame)
assert len(context.response) >= 1

@then("there is multiple rows of data")
def step_impl(context):
assert context.response is not None
assert isinstance(context.response, DataFrame)
assert len(context.response) >= 2

@when('the "{function}" function is called with arguments "{args}"')
def step_impl(context, function, args):
kwargs = split_args(args)
Expand Down

0 comments on commit 9aeac88

Please sign in to comment.