Created
November 5, 2012 13:23
-
-
Save libbkmz/4017161 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Only in kurs/2var(rabotaet)/client: daemon.pyc | |
diff -r -u kurs 1/2var(rabotaet)/client/main_client.py kurs/2var(rabotaet)/client/main_client.py | |
--- kurs 1/2var(rabotaet)/client/main_client.py 2012-11-03 02:52:06.000000000 +0400 | |
+++ kurs/2var(rabotaet)/client/main_client.py 2012-11-05 14:45:18.000000000 +0400 | |
@@ -10,7 +10,7 @@ | |
import subprocess | |
import platform | |
-class derivedDaemon(Daemon): | |
+class derivedDaemon(): | |
def run(self): | |
# Константы | |
RECV_DATA_LENGTH = 1024 | |
@@ -30,9 +30,12 @@ | |
outData = pickle.dumps({'id':self.getMacAddr(), | |
'cpuModel':self.getCpuParams()['cpuModel'], | |
'cpuFreq':self.getCpuParams()['cpuFreq'], | |
- 'cpuArch':self.getCpuParams()['cpuArch'] | |
+ 'cpuArch':self.getCpuParams()['cpuArch'], | |
+ 'diskInfo':self.getDrivesInfo(), | |
}) | |
- socketObj.send(outData) | |
+ | |
+ import pdb; pdb.set_trace() | |
+ socketObj.sendall(outData) | |
# Проверяем ответ сервера | |
inData = socketObj.recv(RECV_DATA_LENGTH) | |
@@ -112,21 +115,23 @@ | |
return str(round(load*100.0, 2)) | |
def main(): | |
- daemon = derivedDaemon('/tmp/daemon-example.pid', stdout = '/dev/stdout') | |
- if len(sys.argv) == 2: | |
- if 'start' == sys.argv[1]: | |
- daemon.start() | |
- elif 'stop' == sys.argv[1]: | |
- daemon.stop() | |
- elif 'restart' == sys.argv[1]: | |
- daemon.restart() | |
- else: | |
- print "Unknown command" | |
- sys.exit(2) | |
- sys.exit(0) | |
- else: | |
- print "usage: %s start|stop|restart" % sys.argv[0] | |
- sys.exit(2) | |
+ derivedDaemon().run() | |
+ | |
+ # daemon = derivedDaemon('/tmp/daemon-example.pid', stdout = '/dev/stdout') | |
+ # if len(sys.argv) == 2: | |
+ # if 'start' == sys.argv[1]: | |
+ # daemon.start() | |
+ # elif 'stop' == sys.argv[1]: | |
+ # daemon.stop() | |
+ # elif 'restart' == sys.argv[1]: | |
+ # daemon.restart() | |
+ # else: | |
+ # print "Unknown command" | |
+ # sys.exit(2) | |
+ # sys.exit(0) | |
+ # else: | |
+ # print "usage: %s start|stop|restart" % sys.argv[0] | |
+ # sys.exit(2) | |
if __name__ == '__main__': | |
main() | |
Only in kurs 1/2var(rabotaet)/client: main_client.py.orig | |
Only in kurs 1/2var(rabotaet)/client: main_client.py.rej | |
Only in kurs/2var(rabotaet): mydbase | |
Only in kurs/2var(rabotaet): report.html | |
Only in kurs/2var(rabotaet)/server: generate_report.pyc | |
diff -r -u kurs 1/2var(rabotaet)/server/main_server.py kurs/2var(rabotaet)/server/main_server.py | |
--- kurs 1/2var(rabotaet)/server/main_server.py 2012-11-03 02:49:24.000000000 +0400 | |
+++ kurs/2var(rabotaet)/server/main_server.py 2012-11-05 14:21:40.000000000 +0400 | |
@@ -30,6 +30,7 @@ | |
break | |
# Делаем десериализацию... | |
+ import pdb; pdb.set_trace() | |
tmp = pickle.loads(data) | |
# ... и запись в базу данных | |
Only in kurs 1/2var(rabotaet)/server: main_server.py.rej | |
Only in kurs/3var(oshibka)/client: daemon.pyc | |
diff -r -u kurs 1/3var(oshibka)/client/main_client.py kurs/3var(oshibka)/client/main_client.py | |
--- kurs 1/3var(oshibka)/client/main_client.py 2012-11-05 17:01:58.000000000 +0400 | |
+++ kurs/3var(oshibka)/client/main_client.py 2012-11-05 17:17:02.000000000 +0400 | |
@@ -9,8 +9,9 @@ | |
import time | |
import subprocess | |
import platform | |
+import json | |
-class derivedDaemon(Daemon): | |
+class derivedDaemon(): | |
def run(self): | |
# Константы | |
RECV_DATA_LENGTH = 1024 | |
@@ -27,7 +28,7 @@ | |
time.sleep(1) | |
# Отправляем на сервер неизменяющиеся со временем данные | |
- outData = pickle.dumps({'id':self.getMacAddr(), | |
+ outData = {'id':self.getMacAddr(), | |
'cpuModel':self.getCpuParams()['cpuModel'], | |
'cpuFreq':self.getCpuParams()['cpuFreq'], | |
'cpuArch':self.getCpuParams()['cpuArch'], | |
@@ -37,8 +38,10 @@ | |
'distribVersion':self.getDistribInfo()['distribVersion'], | |
'platformType':self.getDistribInfo()['platformType'], | |
'kernelVersion':self.getDistribInfo()['kernelVersion'] | |
- }) | |
- socketObj.send(outData) | |
+ } | |
+ # import pdb; pdb.set_trace() | |
+ print json.dumps(outData) | |
+ socketObj.sendall(json.dumps(outData)) | |
# Проверяем ответ сервера | |
inData = socketObj.recv(RECV_DATA_LENGTH) | |
@@ -203,21 +206,21 @@ | |
return result | |
def main(): | |
- daemon = derivedDaemon('/tmp/daemon-example.pid', stdout = '/dev/stdout') | |
- if len(sys.argv) == 2: | |
- if 'start' == sys.argv[1]: | |
- daemon.start() | |
- elif 'stop' == sys.argv[1]: | |
- daemon.stop() | |
- elif 'restart' == sys.argv[1]: | |
- daemon.restart() | |
- else: | |
- print "Unknown command" | |
- sys.exit(2) | |
- sys.exit(0) | |
- else: | |
- print "usage: %s start|stop|restart" % sys.argv[0] | |
- sys.exit(2) | |
+ derivedDaemon().run() | |
+ # if len(sys.argv) == 2: | |
+ # if 'start' == sys.argv[1]: | |
+ # daemon.start() | |
+ # elif 'stop' == sys.argv[1]: | |
+ # daemon.stop() | |
+ # elif 'restart' == sys.argv[1]: | |
+ # daemon.restart() | |
+ # else: | |
+ # print "Unknown command" | |
+ # sys.exit(2) | |
+ # sys.exit(0) | |
+ # else: | |
+ # print "usage: %s start|stop|restart" % sys.argv[0] | |
+ # sys.exit(2) | |
if __name__ == '__main__': | |
main() | |
Only in kurs 1/3var(oshibka)/client: main_client.py.rej | |
Only in kurs/3var(oshibka): mydbase | |
Only in kurs/3var(oshibka): report.html | |
Only in kurs/3var(oshibka)/server: generate_report.pyc | |
diff -r -u kurs 1/3var(oshibka)/server/main_server.py kurs/3var(oshibka)/server/main_server.py | |
--- kurs 1/3var(oshibka)/server/main_server.py 2012-11-05 17:02:26.000000000 +0400 | |
+++ kurs/3var(oshibka)/server/main_server.py 2012-11-05 17:21:05.000000000 +0400 | |
@@ -3,12 +3,15 @@ | |
__author__ = 'muzychuk,novikov' | |
from socket import * | |
+# dirty hack for previous line | |
+from socket import error as socket_error | |
import pickle | |
import time | |
import thread | |
import shelve | |
import generate_report | |
import sys | |
+import json | |
# Функция возвращает текущие время и дату в качестве строки | |
def now(): | |
@@ -20,25 +23,43 @@ | |
def handleClient(connection): | |
RECV_DATA_LENGTH = 1024 | |
CONNECTION_RESULT_OK = b"RES_OK" | |
+ | |
- while True: | |
- # Получаем данные из сокета | |
- data = connection.recv(RECV_DATA_LENGTH) | |
+ connection.setblocking(0) | |
+ connection.settimeout(0.5) | |
- # Если нет данных, то выходим из цикла | |
- if not data: | |
+ # Получаем данные из сокета | |
+ totalData = "" | |
+ # import pdb; pdb.set_trace() | |
+ while True: | |
+ try: | |
+ data = connection.recv(RECV_DATA_LENGTH) | |
+ totalData += data | |
+ print "Chunk Readed" | |
+ except socket_error: | |
+ print "Ending reading from socket" | |
+ # this section represent ending of data on this socket obj | |
break | |
+ | |
+ | |
- # Делаем десериализацию... | |
- tmp = pickle.loads(data) | |
- | |
- # ... и запись в базу данных | |
- dbase = shelve.open("mydbase") | |
- dbase[str(tmp['id'])] = tmp | |
- dbase.close() | |
+ # # Если нет данных, то выходим из цикла | |
+ # if not data: | |
+ # break | |
+ | |
+ # Делаем десериализацию... | |
+ # import pdb; pdb.set_trace() | |
+ print totalData | |
+ # tmp = pickle.loads(data) | |
+ tmp = json.loads(totalData) | |
+ | |
+ # ... и запись в базу данных | |
+ dbase = shelve.open("mydbase") | |
+ dbase[str(tmp['id'])] = tmp | |
+ dbase.close() | |
- # Отправляем ответ клиенту о том, что запрос принят и обработан | |
- connection.send(CONNECTION_RESULT_OK) | |
+ # Отправляем ответ клиенту о том, что запрос принят и обработан | |
+ connection.send(CONNECTION_RESULT_OK) | |
# Закрываем соединение | |
connection.close() | |
Only in kurs 1/3var(oshibka)/server: main_server.py.rej | |
Only in kurs 1/: .rej |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment