Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- Program: server.py
- Author: Lorenzo Benevento
- Last data modified: 10-10-2013
- Description: Software lato server per controllo casa e pc.
- """
- #!/usr/bin/python3
- from socket import *
- from codecs import decode
- import subprocess
- import os
- import time
- from releControll import ReleControll
- from test import Test
- HOST = '192.168.11.155'
- HOST_DEVICE = '192.168.11.182'
- PORT = 5000
- ADDRESS = (HOST, PORT)
- ADDRESS_DEVICE = (HOST_DEVICE, PORT)
- BUFSIZE = 1024
- r = ReleControll()
- server = socket(AF_INET, SOCK_STREAM)
- server.bind(ADDRESS)
- server.listen(5)
- while True:
- print("\nWaiting for connection. . .")
- client, address = server.accept()
- print(".. connected from:", address)
- sendValue = decode(client.recv(BUFSIZE), 'ascii')
- print(sendValue)
- client.close()
- if sendValue == "quit":
- server.close()
- r.switchRele("all", False)
- break
- elif sendValue == "lightOn":
- r.switchRele(7, True)
- elif sendValue == "lightOff":
- r.switchRele(7, False)
- elif sendValue == "lightDeskOn":
- r.switchRele(11, True)
- elif sendValue == "lightDeskOff":
- r.switchRele(11, False)
- else:
- sendValueSplit = sendValue.split()
- if sendValueSplit[0] == "shutdown" or sendValueSplit[0] == "reboot":
- r.switchRele("all", False)
- server.close()
- subprocess.call(sendValueSplit)
- break
- elif sendValueSplit[0] == "cd":
- os.chdir(sendValueSplit[1])
- elif sendValueSplit[0] == "ls":
- ls = os.listdir(os.getcwd())
- tempLs = ''
- for file in ls:
- tempLs += file + ' '
- ls = tempLs
- time.sleep(2)
- serverToDevice = socket(AF_INET, SOCK_STREAM)
- serverToDevice.connect(ADDRESS_DEVICE)
- serverToDevice.send(bytes(ls, 'ascii'))
- serverToDevice.close()
- elif sendValueSplit[0] == "test":
- Test().run()
- elif sendValueSplit[0] == "note":
- note = ''
- for count in range(len(sendValueSplit) - 1):
- count += 1
- note += sendValueSplit[count] + " "
- open("/storage/python/software/homeControll/note.txt", 'w').write(note)
- elif sendValueSplit[0] == "requestNote":
- time.sleep(2)
- serverToDevice = socket(AF_INET, SOCK_STREAM)
- serverToDevice.connect(ADDRESS_DEVICE)
- serverToDevice.send(bytes(open("/storage/python/software/homeControll/note.txt", 'r').read(), 'ascii'))
- serverToDevice.close()
- elif sendValueSplit[0] == "execNote":
- exec(open("/storage/python/software/homeControll/note.txt", 'r').read())
- elif sendValueSplit[0] == "requestFile":
- time.sleep(2)
- serverToDevice = socket(AF_INET, SOCK_STREAM)
- serverToDevice.connect(ADDRESS_DEVICE)
- serverToDevice.send(bytes(open("/homeControll/sharedFolder/" + sendValueSplit[1], 'rb').read()))
- serverToDevice.close()
- elif sendValueSplit[0] == "sendFile":
- client, address = server.accept()
- sendValue = client.recv(1048576)
- open("/homeControll/sharedFolder/" + sendValueSplit[1], 'wb').write(sendValue)
- else:
- try:
- subprocess.call(sendValueSplit)
- except:
- print("Il comando non esiste.")
Advertisement
Add Comment
Please, Sign In to add comment