Lorenzo1818

HomeControll - Server

Nov 10th, 2013
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.11 KB | None | 0 0
  1. """
  2. Program: server.py
  3. Author: Lorenzo Benevento
  4. Last data modified: 10-10-2013
  5. Description: Software lato server per controllo casa e pc.
  6. """
  7. #!/usr/bin/python3
  8.  
  9. from socket import *
  10. from codecs import decode
  11. import subprocess
  12. import os
  13. import time
  14. from releControll import ReleControll
  15. from test import Test
  16.  
  17. HOST = '192.168.11.155'
  18. HOST_DEVICE = '192.168.11.182'
  19. PORT = 5000
  20.  
  21. ADDRESS = (HOST, PORT)
  22. ADDRESS_DEVICE = (HOST_DEVICE, PORT)
  23.  
  24. BUFSIZE = 1024
  25.  
  26. r = ReleControll()
  27.  
  28. server = socket(AF_INET, SOCK_STREAM)
  29. server.bind(ADDRESS)
  30. server.listen(5)
  31. while True:
  32.         print("\nWaiting for connection. . .")
  33.         client, address = server.accept()
  34.         print(".. connected from:", address)
  35.         sendValue = decode(client.recv(BUFSIZE), 'ascii')
  36.         print(sendValue)
  37.         client.close()
  38.         if sendValue == "quit":
  39.                 server.close()
  40.                 r.switchRele("all", False)
  41.                 break
  42.         elif sendValue == "lightOn":
  43.                 r.switchRele(7, True)
  44.         elif sendValue == "lightOff":
  45.                 r.switchRele(7, False)
  46.         elif sendValue == "lightDeskOn":
  47.                 r.switchRele(11, True)
  48.         elif sendValue == "lightDeskOff":
  49.                 r.switchRele(11, False)
  50.         else:
  51.                 sendValueSplit = sendValue.split()
  52.                 if sendValueSplit[0] == "shutdown" or sendValueSplit[0] == "reboot":
  53.                         r.switchRele("all", False)
  54.                         server.close()
  55.                         subprocess.call(sendValueSplit)
  56.                         break
  57.                 elif sendValueSplit[0] == "cd":
  58.                         os.chdir(sendValueSplit[1])
  59.                 elif sendValueSplit[0] == "ls":
  60.                         ls = os.listdir(os.getcwd())
  61.                         tempLs = ''
  62.                         for file in ls:
  63.                                 tempLs += file + ' '
  64.                         ls = tempLs
  65.                         time.sleep(2)
  66.                         serverToDevice = socket(AF_INET, SOCK_STREAM)
  67.                         serverToDevice.connect(ADDRESS_DEVICE)
  68.                         serverToDevice.send(bytes(ls, 'ascii'))
  69.                         serverToDevice.close()
  70.                 elif sendValueSplit[0] == "test":
  71.                         Test().run()
  72.                 elif sendValueSplit[0] == "note":
  73.                         note = ''
  74.                         for count in range(len(sendValueSplit) - 1):
  75.                                 count += 1
  76.                                 note += sendValueSplit[count] + " "
  77.                         open("/storage/python/software/homeControll/note.txt", 'w').write(note)
  78.                 elif sendValueSplit[0] == "requestNote":
  79.                         time.sleep(2)
  80.                         serverToDevice = socket(AF_INET, SOCK_STREAM)
  81.                         serverToDevice.connect(ADDRESS_DEVICE)
  82.                         serverToDevice.send(bytes(open("/storage/python/software/homeControll/note.txt", 'r').read(), 'ascii'))
  83.                         serverToDevice.close()
  84.                 elif sendValueSplit[0] == "execNote":
  85.                         exec(open("/storage/python/software/homeControll/note.txt", 'r').read())
  86.                 elif sendValueSplit[0] == "requestFile":
  87.                         time.sleep(2)
  88.                         serverToDevice = socket(AF_INET, SOCK_STREAM)
  89.                         serverToDevice.connect(ADDRESS_DEVICE)
  90.                         serverToDevice.send(bytes(open("/homeControll/sharedFolder/" + sendValueSplit[1], 'rb').read()))
  91.                         serverToDevice.close()
  92.                 elif sendValueSplit[0] == "sendFile":
  93.                         client, address = server.accept()
  94.                         sendValue = client.recv(1048576)
  95.                         open("/homeControll/sharedFolder/" + sendValueSplit[1], 'wb').write(sendValue)
  96.                 else:
  97.                         try:
  98.                                 subprocess.call(sendValueSplit)
  99.                         except:
  100.                                 print("Il comando non esiste.")
Advertisement
Add Comment
Please, Sign In to add comment