diff options
| -rw-r--r-- | api.py | 13 | ||||
| -rw-r--r-- | crawler.py | 2 | ||||
| -rw-r--r-- | database.py | 2 |
3 files changed, 11 insertions, 6 deletions
@@ -11,13 +11,16 @@ async def main(): await db.connect("postgres://vgstats@localhost/vgstats") api = crawler.Crawler() try: - await db.meta("last_match_update") + last_match_update = await db.meta("last_match_update") except KeyError: - await db.meta("last_match_update", - datetime.datetime(1, 1, 1).isoformat()) - matches = await api.matches_since( - await db.meta("last_match_update")) + last_match_update = datetime.datetime(1, 1, 1).isoformat() + await db.meta("last_match_update", last_match_update) + print("getting new matches since " + last_match_update) + await db.meta("last_match_update", datetime.datetime.now().isoformat()) + matches = await api.matches_since(last_match_update) + print("inserting data into database") await db.upsert("na", matches, True) + print("calculating stats") print(await db.select("SELECT data->'attributes'->>'name' as name FROM player WHERE CAST(data->'attributes'->'stats'->>'winStreak' AS integer) > 3")) loop = asyncio.get_event_loop() @@ -78,4 +78,6 @@ class Crawler(object): :return: Processed API response :rtype: list of dict """ + date = ".".join(date.split(".")[:-1]) # remove microseconds + date = date + "Z" return await self.matches(region, {"filter[createdAt-start]": date}) diff --git a/database.py b/database.py index 8fad408..5119899 100644 --- a/database.py +++ b/database.py @@ -105,7 +105,7 @@ class Database(object): "WHERE key='" + key + "'") if len(result) == 0: raise KeyError - return result[0]["value"] + return json.loads(result[0]["value"]) async def execute(self, query, args): """Runs an SQL statement. |
