Skip to content
This repository has been archived by the owner on Jul 19, 2023. It is now read-only.

Releases: deepnimma/py-tmio

py-trackmania.io v0.5.0-rc1

31 May 05:00
Compare
Choose a tag to compare
Pre-release

v0.5.0-rc1

  • Use built-in types for Type Annotations. Replaced typing.List, typing.Dict and typing.Tuple with list, dict, tuple.
  • Latest TOTD is now cached with totd:latest key.
  • Created a flag in TOTD.get_totd() for latest totd that is used by the TOTD.latest_totd() command.
  • Fix date parsing by creating a single command for all date types on trackmania.io api.
  • Create a unified variable to prevent repeated use of suppress(ConnectionRefusedError, redis.exceptions.ConnectionError): everywhere.
  • Create get_from_cache and set_in_cache functions to make it easier for feature development.
  • Campaign Class
    • classmethod get_campaign() Get a campaign with the campaign id and club id.
    • classmethod current_season() Gets the current ongoing official campaign.
    • leaderboards() Gets the leaderboard of the campaign.
    • static official_campaigns() Gets all the official campaigns.
    • static popular_campaigns() Gets all the non-official campaigns ranked by current popularity.
    • club() Gets the club the campaign belongs to.
  • Club Class
    • classmethod get_club() Gets a club with the given club id.
    • creator() Gets the player object of the creator of the club.
    • get_activities() Gets all the activities of the club.
    • get_members() Gets all the members of the club.
    • static list_clubs() Lists all the popular clubs.
  • Room Class
    • classmethod get_room() Gets the room using the room id and club id.
    • static popular_rooms() Gets all the popular rooms.
    • club() Gets the club the room belongs to.
  • Add trackmania.campaign.py, trackmania.club.py and trackmania.room.py to documentation.
  • Create base objects for all classes in the module.
  • .top_matchmaking() now returns a list of MatchmakingLeaderboard class.
  • Add typing_extensions to requirements. This will be removed once Self is added to python 3.11
  • Random map function in class TMXMap.
  • Add map_name parameter to TMXMap.
  • Remove login from Player docstring.
  • Updated redis.
  • Updated requirements-dev.txt.
  • Player.search now never returns a NoneType and instead returns an empty list.
  • Update PlayerMatchmaking.history() command to reflect changes in the api.
  • Rename comments_count to comment_count in TMXMapMetadata docstring.
  • BUMP VERSION

Full Changelog: v0.4.6...v0.5.0-rc1

py-trackmania.io v0.4.6

26 Apr 11:15
Compare
Choose a tag to compare

v0.4.6

  • Created 2 commands in trackmania/config.py to flush db and flush a specific key.

Full Changelog: v0.4.5...v0.4.6

py-trackmania.io v0.4.5

22 Apr 07:09
Compare
Choose a tag to compare

v0.4.5

  • Add PlayerSearchResult to Players __all__

Full Changelog: v0.4.4...v0.4.5

py-trackmania.io v0.4.4

21 Apr 14:35
Compare
Choose a tag to compare

v0.4.4

  • Fix medal strings in Class MedalTimes

Full Changelog: v0.4.3...v0.4.4

py-trackmania.io v0.4.3

21 Apr 14:14
Compare
Choose a tag to compare

v0.4.3

  • Regex Stuff

Full Changelog: v0.4.2...v0.4.3

py-trackmania.io v0.4.2

18 Apr 11:49
Compare
Choose a tag to compare

v0.4.2

  • Add times parameter to TMXMap

Full Changelog: v0.4.1...v0.4.2

py-trackmania.io v0.4.1

18 Apr 06:48
Compare
Choose a tag to compare

v0.4.1

  • Add typing-extensions to documentation requirements
  • Only cache player data for 6 hours.
  • Add Trophy 9 to def score() in PlayerTrophies class.

Full Changelog: v0.4.0...v0.4.1

py-trackmania.io v0.4.0

17 Apr 11:29
Compare
Choose a tag to compare

v0.4.0

Breaking Changes

  • Renamed many .get() functions to be more specific to the classes they belong to.

Other Changes

  • Import tmx.py classes to __init__.py
  • Add __all__ attribute to tmx.py
  • Remove trackmania.api and trackmania.constants from docs/trackmania.rst
  • Only store player_name, player_id and player_club_tag in Leaderboard class.
  • Add a function to get the player of that specific leaderboard to Leaderboard class.
  • Add indent to __init__.py docstring.
  • Player.search returns a list even if there is only 1 player with the given username.
  • Removed unnecessary commented code in Player._parse_player.
  • Optimize Player._parse_player by removing if statements and using my_dict.get(key) instead.
  • Optimize all class._from_dict() by removing if statements and using my_dict.get(key) instead.
  • Change list_ads and get_ad to classmethods.
  • Change build functions in constants.py to classmethods.
  • Cleanup matchmaking.py.
  • Create __str__ for PlayerMatchmaking.
  • Create __str__ for PlayerTrophies.
  • Removed docstrings for private functions
  • Improve consistency across modules.
  • Create to_string static function for PlayerZone class.
  • Fix loop in .load_more_leaderboard() using the wrong variable.
  • Rename rate_vote_average variable to rating_vote_average.
  • Rename embedded_items_size variable to embedded_objects_size.
  • Fix tags variable using incorrect dictionary key in TMXMap._from_dict().
  • Add caching for .load_more_leaderboard() function.
  • Create new class for TrophyLeaderboardPlayer.
  • Update PlayerTrophies.top() to return a list of above class.
  • Use strobj.join() function for PlayerZone.to_string to get rid of unnecessary extra commas.
  • Small Fixes in docstrings.
  • Rename _TMIO and _TMX in docstrings to TMIO and TMX.
  • Fix some class type hints in docstrings.
  • Fix docstring for trophy_obj.score() that was breaking the entire file.
  • Add TrophyLeaderboardPlayer to trophy.py __all__.
  • 2 Basic Examples.
    • Example to get player's cotd stats.
    • Example to get data on the latest totd.
  • Add "Accept" and "Content-Type" headers for API Request. Both set to "application/json".
  • Add RATELIMIT_RESET field to config.Client and fix bugs with Ratelimit monitoring. Fix #21.
  • Small Updates to Docstrings.

Full Changelog: v0.3.3...v0.4.0

py-trackmania.io v0.4.0b1

16 Apr 12:31
Compare
Choose a tag to compare
Pre-release

v0.4.0b1

Breaking Changes

  • Renamed many .get() functions to be more specific to the classes they belong to.

Other Changes

  • Import tmx.py classes to __init__.py
  • Add __all__ attribute to tmx.py
  • Remove trackmania.api and trackmania.constants from docs/trackmania.rst
  • Only store player_name, player_id and player_club_tag in Leaderboard class.
  • Add a function to get the player of that specific leaderboard to Leaderboard class.
  • Add indent to __init__.py docstring.
  • Player.search returns a list even if there is only 1 player with the given username.
  • Removed unnecessary commented code in Player._parse_player.
  • Optimize Player._parse_player by removing if statements and using my_dict.get(key) instead.
  • Optimize all class._from_dict() by removing if statements and using my_dict.get(key) instead.
  • Change list_ads and get_ad to classmethods.
  • Change build functions in constants.py to classmethods.
  • Cleanup matchmaking.py.
  • Create __str__ for PlayerMatchmaking.
  • Create __str__ for PlayerTrophies.
  • Removed docstrings for private functions
  • Improve consistency across modules.
  • Create to_string static function for PlayerZone class.
  • Fix loop in .load_more_leaderboard() using the wrong variable.
  • Rename rate_vote_average variable to rating_vote_average.
  • Rename embedded_items_size variable to embedded_objects_size.
  • Fix tags variable using incorrect dictionary key in TMXMap._from_dict().
  • Add caching for .load_more_leaderboard() function.
  • Create new class for TrophyLeaderboardPlayer.
  • Update PlayerTrophies.top() to return a list of above class.
  • Use strobj.join() function for PlayerZone.to_string to get rid of unnecessary extra commas.
  • Small Fixes in docstrings.

py-trackmania.io v0.3.3

12 Apr 06:54
Compare
Choose a tag to compare

v0.3.3

  • Fix Player.__parse_zones loop from not firing
  • Add required classes for TMXMap class
  • Add trackmania.tmx to the docs
  • TMXMap.get(tmx_id) command

Full Changelog: v0.3.2...v0.3.3