mirror of https://git.48k.eu/ogclient
Merge ogRest and ogProcess to have only one class
parent
77906be87f
commit
dfc97ffedb
|
@ -6,7 +6,7 @@ import email
|
|||
from io import StringIO
|
||||
|
||||
from src.HTTPParser import *
|
||||
from src.ogProcess import *
|
||||
from src.ogRest import *
|
||||
from enum import Enum
|
||||
|
||||
class State(Enum):
|
||||
|
@ -74,7 +74,7 @@ class ogClient:
|
|||
|
||||
self.data = self.data + data
|
||||
httpparser = HTTPParser()
|
||||
ogprocess = ogProcess()
|
||||
ogrest = ogRest()
|
||||
|
||||
if not self.trailer:
|
||||
if self.data.find("\r\n") > 0:
|
||||
|
@ -89,7 +89,7 @@ class ogClient:
|
|||
|
||||
if self.trailer and len(self.data) >= self.content_len:
|
||||
httpparser.parser(self.data)
|
||||
ogprocess.processOperation(httpparser.getRequestOP(), httpparser.getURI(), self)
|
||||
ogrest.processOperation(httpparser.getRequestOP(), httpparser.getURI(), self)
|
||||
|
||||
# Cleanup state information from request
|
||||
self.data = ""
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
import threading
|
||||
import platform
|
||||
import time
|
||||
from src import ogRest
|
||||
|
||||
if platform.system() == 'Linux':
|
||||
from src.linux import ogOperations
|
||||
|
||||
class ogProcess():
|
||||
def processOperation(self, op, URI, client):
|
||||
if ("poweroff" in URI):
|
||||
self.process_poweroff(client)
|
||||
elif ("reboot" in URI):
|
||||
self.process_reboot(client)
|
||||
elif ("probe" in URI):
|
||||
self.process_probe(client)
|
||||
else:
|
||||
client.send(ogRest.getResponse(ogRest.ogResponses.BAD_REQUEST))
|
||||
|
||||
return 0
|
||||
|
||||
def process_reboot(self, client):
|
||||
# Rebooting thread
|
||||
def rebt():
|
||||
ogOperations.reboot()
|
||||
|
||||
client.send(ogRest.getResponse(ogRest.ogResponses.IN_PROGRESS))
|
||||
client.disconnect()
|
||||
threading.Thread(target=rebt).start()
|
||||
|
||||
def process_poweroff(self, client):
|
||||
# Powering off thread
|
||||
def pwoff():
|
||||
time.sleep(2)
|
||||
ogOperations.poweroff()
|
||||
|
||||
client.send(ogRest.getResponse(ogRest.ogResponses.IN_PROGRESS))
|
||||
client.disconnect()
|
||||
threading.Thread(target=pwoff).start()
|
||||
|
||||
def process_probe(self, client):
|
||||
client.send(ogRest.getResponse(ogRest.ogResponses.OK))
|
|
@ -1,14 +1,55 @@
|
|||
import threading
|
||||
import platform
|
||||
import time
|
||||
from enum import Enum
|
||||
|
||||
if platform.system() == 'Linux':
|
||||
from src.linux import ogOperations
|
||||
|
||||
class ogResponses(Enum):
|
||||
BAD_REQUEST=0
|
||||
IN_PROGRESS=1
|
||||
OK=2
|
||||
|
||||
def getResponse(response):
|
||||
if response == ogResponses.BAD_REQUEST:
|
||||
return 'HTTP/1.0 400 Bad request\r\n\r\n'
|
||||
if response == ogResponses.IN_PROGRESS:
|
||||
return 'HTTP/1.0 202 Accepted\r\n\r\n'
|
||||
if response == ogResponses.OK:
|
||||
return 'HTTP/1.0 200 OK\r\n\r\n'
|
||||
class ogRest():
|
||||
def getResponse(self, response):
|
||||
if response == ogResponses.BAD_REQUEST:
|
||||
return 'HTTP/1.0 400 Bad request\r\n\r\n'
|
||||
if response == ogResponses.IN_PROGRESS:
|
||||
return 'HTTP/1.0 202 Accepted\r\n\r\n'
|
||||
if response == ogResponses.OK:
|
||||
return 'HTTP/1.0 200 OK\r\n\r\n'
|
||||
|
||||
def processOperation(self, op, URI, client):
|
||||
if ("poweroff" in URI):
|
||||
self.process_poweroff(client)
|
||||
elif ("reboot" in URI):
|
||||
self.process_reboot(client)
|
||||
elif ("probe" in URI):
|
||||
self.process_probe(client)
|
||||
else:
|
||||
client.send(self.getResponse(ogResponses.BAD_REQUEST))
|
||||
|
||||
return 0
|
||||
|
||||
def process_reboot(self, client):
|
||||
# Rebooting thread
|
||||
def rebt():
|
||||
ogOperations.reboot()
|
||||
|
||||
client.send(self.getResponse(ogResponses.IN_PROGRESS))
|
||||
client.disconnect()
|
||||
threading.Thread(target=rebt).start()
|
||||
|
||||
def process_poweroff(self, client):
|
||||
# Powering off thread
|
||||
def pwoff():
|
||||
time.sleep(2)
|
||||
ogOperations.poweroff()
|
||||
|
||||
client.send(self.getResponse(ogResponses.IN_PROGRESS))
|
||||
client.disconnect()
|
||||
threading.Thread(target=pwoff).start()
|
||||
|
||||
def process_probe(self, client):
|
||||
client.send(self.getResponse(ogResponses.OK))
|
||||
|
|
Loading…
Reference in New Issue