]> de.git.xonotic.org Git - xonotic/xonstat.git/blobdiff - xonstat/models/server.py
Merge pull request #25 from antzucaro/models-refactor
[xonotic/xonstat.git] / xonstat / models / server.py
diff --git a/xonstat/models/server.py b/xonstat/models/server.py
new file mode 100644 (file)
index 0000000..40c4a0b
--- /dev/null
@@ -0,0 +1,30 @@
+"""
+Models related to servers.
+"""
+
+from datetime import datetime as dt
+
+from xonstat.models.mixins import FuzzyDateMixin, EpochMixin
+
+
+class Server(FuzzyDateMixin, EpochMixin):
+    """
+    A Xonotic server, identifiable by name and (when there's a conflict) hashkey.
+    """
+
+    def __init__(self, name=None, hashkey=None, ip_addr=None):
+        self.name = name
+        self.hashkey = hashkey
+        self.ip_addr = ip_addr
+        self.create_dt = dt.utcnow()
+
+    def __repr__(self):
+        return "<Server({}, {})>".format(self.server_id, self.name.encode('utf-8'))
+
+    def to_dict(self):
+        return {
+            'server_id': self.server_id,
+            'name': self.name,
+            'ip_addr': self.ip_addr,
+            'location': self.location,
+        }