diff options
author | Alvaro Neira Ayuso <aneira@soleta.eu> | 2019-12-12 15:53:38 +0100 |
---|---|---|
committer | Alvaro Neira Ayuso <alvaroneay@gmail.com> | 2020-01-19 19:50:44 +0100 |
commit | ebd640a9c5d308c0ba115fea6c8cc0666010eab6 (patch) | |
tree | 62cd0994d373005755df84fa4f539d870cef8fad /src | |
parent | bfdeae840c95fb9da504af795179be65c6286326 (diff) |
Add ogProcess and ogOperation for linux
Thoses new classes allows us to process and execute commands from server side
sent using HTTP format.
Diffstat (limited to 'src')
-rw-r--r-- | src/linux/__init__.py | 0 | ||||
-rw-r--r-- | src/linux/ogOperations.py | 3 | ||||
-rw-r--r-- | src/ogClient.py | 5 | ||||
-rw-r--r-- | src/ogProcess.py | 20 |
4 files changed, 28 insertions, 0 deletions
diff --git a/src/linux/__init__.py b/src/linux/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/linux/__init__.py diff --git a/src/linux/ogOperations.py b/src/linux/ogOperations.py new file mode 100644 index 0000000..e11fb0d --- /dev/null +++ b/src/linux/ogOperations.py @@ -0,0 +1,3 @@ +def poweroff(): + print 'APAGADO' + diff --git a/src/ogClient.py b/src/ogClient.py index b54d736..2c57730 100644 --- a/src/ogClient.py +++ b/src/ogClient.py @@ -4,6 +4,7 @@ import socket import time
from HTTPParser import *
+from ogProcess import *
from enum import Enum
class State(Enum):
@@ -67,6 +68,7 @@ class ogClient: self.data = self.data + data
httpparser = HTTPParser()
+ ogprocess = ogProcess()
if not self.trailer:
if self.data.find("\r\n") > 0:
@@ -81,6 +83,9 @@ class ogClient: if self.trailer and len(self.data) >= self.content_len:
httpparser.parser(self.data)
+ print httpparser.getRequestOP()
+ print httpparser.getURI()
+ ogprocess.processOperation(httpparser.getRequestOP(), httpparser.getURI())
self.sock.send("HTTP/1.0 200 OK\r\n\r\n")
diff --git a/src/ogProcess.py b/src/ogProcess.py new file mode 100644 index 0000000..35abb89 --- /dev/null +++ b/src/ogProcess.py @@ -0,0 +1,20 @@ +import threading +import platform +import time + +print(platform.system()) + +if platform.system() == 'Linux': + from linux import ogOperations + +class ogProcess(): + def processOperation(self, op, URI): + if ("poweroff" in URI): + self.process_poweroff() + + def process_poweroff(self): + # Powering off thread + def pwoff(): + time.sleep(2) + ogOperations.poweroff() + threading.Thread(target=pwoff).start() |