diff options
author | Marek Siarkowicz <mareksiarkowicz@gmail.com> | 2015-06-15 11:33:33 +0200 |
---|---|---|
committer | Marek Siarkowicz <mareksiarkowicz@gmail.com> | 2015-06-15 12:01:43 +0200 |
commit | 947a9f7d10bc3c54939cfa72dab27b2e64034318 (patch) | |
tree | 052108b258f5179c457b762e2134bf9fff1dccfe /parrot_zik/message.py | |
parent | 55255db75378f39807371bb7e434cc943fd66f27 (diff) | |
download | pyParrotZikTCP-947a9f7d10bc3c54939cfa72dab27b2e64034318.tar.xz pyParrotZikTCP-947a9f7d10bc3c54939cfa72dab27b2e64034318.zip |
Create packet.
Diffstat (limited to 'parrot_zik/message.py')
-rw-r--r-- | parrot_zik/message.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/parrot_zik/message.py b/parrot_zik/message.py new file mode 100644 index 0000000..214b6f9 --- /dev/null +++ b/parrot_zik/message.py @@ -0,0 +1,30 @@ +class Message: + def __init__(self, resource, method, arg=None): + self.method = method + self.resource = resource + self.arg = arg + + def __str__(self): + return str(self.request) + + @property + def request(self): + message = bytearray() + message.extend(self.header) + message.extend(bytearray(self.request_string)) + return message + + @property + def header(self): + header = bytearray([0]) + header.append(len(self.request_string) + 3) + header.append("\x80") + return header + + @property + def request_string(self): + if self.method == 'set': + return 'SET {}/{}?arg={}'.format(self.resource, self.method, + str(self.arg).lower()) + else: + return 'GET {}/{}'.format(self.resource, self.method) |