added dweet and reboot
This commit is contained in:
5
controller/dweet.py
Normal file
5
controller/dweet.py
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
from state.dweet_server import DweetServer
|
||||||
|
import config
|
||||||
|
|
||||||
|
server = DweetServer(config.CONTROLLER_ID)
|
||||||
|
server.send_message("I am aliveeee (again)!");
|
||||||
@@ -2,6 +2,7 @@ import config
|
|||||||
from state.server import Server
|
from state.server import Server
|
||||||
from state.changer import Changer
|
from state.changer import Changer
|
||||||
from state.file import File
|
from state.file import File
|
||||||
|
import commands
|
||||||
|
|
||||||
def safely_panic():
|
def safely_panic():
|
||||||
safe_state = {}
|
safe_state = {}
|
||||||
@@ -32,3 +33,5 @@ def sync():
|
|||||||
except:
|
except:
|
||||||
print " panicking safely ! "
|
print " panicking safely ! "
|
||||||
safely_panic()
|
safely_panic()
|
||||||
|
print " rebooting "
|
||||||
|
commands.getoutput('/sbin/shutdown -r now')
|
||||||
|
|||||||
33
controller/state/dweet_server.py
Normal file
33
controller/state/dweet_server.py
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
import json
|
||||||
|
import requests
|
||||||
|
|
||||||
|
|
||||||
|
DWEET_UID = "5410ab1e-319c-4f14-a2e4-04725df69121"
|
||||||
|
|
||||||
|
class DweetServer(object):
|
||||||
|
"Gets state from server and sends it to the server after change"
|
||||||
|
def __init__(self, controller_id=None):
|
||||||
|
self.url_base = "https://dweet.io:443/dweet/quietly/for/%s" % DWEET_UID
|
||||||
|
self.controller_id = controller_id
|
||||||
|
|
||||||
|
def send_message(self, message):
|
||||||
|
result = requests.post(self.full_url(),
|
||||||
|
{
|
||||||
|
'controller_id': self.controller_id,
|
||||||
|
'message': message
|
||||||
|
})
|
||||||
|
return handle_response(result)
|
||||||
|
|
||||||
|
def full_url(self):
|
||||||
|
if self.controller_id is None:
|
||||||
|
raise ClassNotReadyException("Controller id not set!")
|
||||||
|
if self.url_base is None:
|
||||||
|
raise ClassNotReadyException("URL base not set!")
|
||||||
|
return self.url_base
|
||||||
|
|
||||||
|
|
||||||
|
def handle_response(response):
|
||||||
|
if response.status_code != 200:
|
||||||
|
raise ErrorCommunicatingWithServerException("Response not 200!")
|
||||||
|
else:
|
||||||
|
return response.json()
|
||||||
@@ -16,8 +16,6 @@ class Server(object):
|
|||||||
result = requests.post(self.full_url('state/%s') % self.controller_id, local_state)
|
result = requests.post(self.full_url('state/%s') % self.controller_id, local_state)
|
||||||
return handle_response(result)
|
return handle_response(result)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def full_url(self, action):
|
def full_url(self, action):
|
||||||
if self.controller_id is None:
|
if self.controller_id is None:
|
||||||
raise ClassNotReadyException("Controller id not set!")
|
raise ClassNotReadyException("Controller id not set!")
|
||||||
|
|||||||
Reference in New Issue
Block a user