summaryrefslogtreecommitdiff
path: root/server/piztor/server.py
diff options
context:
space:
mode:
Diffstat (limited to 'server/piztor/server.py')
-rw-r--r--server/piztor/server.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/server/piztor/server.py b/server/piztor/server.py
index 6901400..5635242 100644
--- a/server/piztor/server.py
+++ b/server/piztor/server.py
@@ -67,19 +67,20 @@ class _StatusCode:
class PushData(object):
from hashlib import sha256
- def __init__(self, data):
- self.data = data
+ def pack(self, optcode, data):
self.finger_print = sha256(data).digest()
+ buff = struct.pack("!B32s", optcode, self.finger_print)
+ buff += data
+ buff = struc.pack("!L", _SectionSize.LENGTH + len(buff)) + buff
+ self.data = data
class PushTextMesgData(PushData):
def __init__(self, mesg):
- self.finger_print = sha256(mesg).digest()
- logger.info("Mesg: %s", mesg)
- buff = struct.pack("!B32s", 0x00, self.finger_print)
- buff += mesg
- buff += chr(0)
- buff = struct.pack("!L", _SectionSize.LENGTH + len(buff)) + buff
- self.data = buff
+ self.pack(0x00, mesg + chr(0))
+
+class PushLocationData(PushData):
+ def __init__(self, uid, lat, lng):
+ self.pack(0x01, struct.pack("!dd", lat, lng))
class PushTunnel(object):