From 064ca652a4a5568cd1d2d46f942998a7b09b1cfe Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Fri, 5 Sep 2014 13:21:15 +0200 Subject: [PATCH] Support favicon --- mcstatus/pinger.py | 5 ++++- mcstatus/tests/protocol/test_pinger.py | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/mcstatus/pinger.py b/mcstatus/pinger.py index a279d51..95c6b2b 100644 --- a/mcstatus/pinger.py +++ b/mcstatus/pinger.py @@ -135,4 +135,7 @@ class PingResponse: if "description" not in raw: raise ValueError("Invalid status object (no 'description' value)") - self.description = raw["description"] \ No newline at end of file + self.description = raw["description"] + + if "favicon" in raw: + self.favicon = raw["favicon"] \ No newline at end of file diff --git a/mcstatus/tests/protocol/test_pinger.py b/mcstatus/tests/protocol/test_pinger.py index 93ae27f..c64183b 100644 --- a/mcstatus/tests/protocol/test_pinger.py +++ b/mcstatus/tests/protocol/test_pinger.py @@ -84,6 +84,10 @@ class TestPingResponse(TestCase): def test_players_missing(self): self.assertRaises(ValueError, PingResponse, {"description":"A Minecraft Server","version":{"name":"1.8-pre1","protocol":44}}) + def test_favicon(self): + response = PingResponse({"description":"A Minecraft Server","players":{"max":20,"online":0},"version":{"name":"1.8-pre1","protocol":44},"favicon":"data:image/png;base64,foo"}) + + self.assertEqual(response.favicon, "data:image/png;base64,foo") class TestPingResponsePlayers(TestCase): def test_invalid(self):