summaryrefslogtreecommitdiff
path: root/gamelocker
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2017-01-14 22:15:21 +0100
committerschneefux <schneefux+commit@schneefux.xyz>2017-01-14 22:15:21 +0100
commitc70a290673467379230c327a713a4776df5abb6f (patch)
treee58b609609337087e9359b7bb9638028a95f5739 /gamelocker
parent1de9a2eb9ba73a31ee550873245ba1ed954638c7 (diff)
downloadpython-gamelocker-c70a290673467379230c327a713a4776df5abb6f.tar.gz
python-gamelocker-c70a290673467379230c327a713a4776df5abb6f.zip
add tests and drafts for more match filters
Diffstat (limited to 'gamelocker')
-rw-r--r--gamelocker/api.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/gamelocker/api.py b/gamelocker/api.py
index dee307d..2e4faf9 100644
--- a/gamelocker/api.py
+++ b/gamelocker/api.py
@@ -9,6 +9,7 @@ This module implements the Gamelocker API.
"""
import inspect
+import datetime
import requests
import requests_jwt
import gamelocker.datatypes
@@ -139,7 +140,10 @@ class Gamelocker(object):
"""
return self._get("players", elid)
- def matches(self, limit=None, offset=None, sort=None):
+ def matches(self,
+ limit=None, offset=None, sort=None,
+ player=None, team=None,
+ createdAtStart=None, createdAtEnd=None):
"""Returns a list of recent matches.
:param limit: Maximum number of matches to return.
@@ -148,6 +152,10 @@ class Gamelocker(object):
:type limit: int
:param sort: Sort query to use.
:type sort: str
+ :param createdAtStart: Earliest createdAt time.
+ :type createdAtStart: `datetime.datetime` or str
+ :param createdAtEnd: Latest createdAt time.
+ :type createdAtEnd: `datetime.datetime` or str
:return: List of matches.
:rtype: list of dict
"""
@@ -159,4 +167,17 @@ class Gamelocker(object):
params["page[offset]"] = offset
if sort: # TODO make this nice and usable
params["sort"] = sort
+ if player:
+ params["filter[playerName]"] = player
+ if team:
+ params["filter[teamName]"] = team
+ if createdAtStart:
+ if isinstance(createdAtStart, datetime.datetime):
+ createdAtStart = createdAtStart.isoformat()
+ params["filter[createdAt-start]"] = createdAtStart
+ if createdAtEnd:
+ if isinstance(createdAtEnd, datetime.datetime):
+ createdAtEnd = createdAtEnd.isoformat()
+ params["filter[createdAt-end]"] = createdAtEnd
+
return self._get("matches", params=params)