Skip to content

Instantly share code, notes, and snippets.

@libbkmz
Created November 5, 2012 13:23
Show Gist options
  • Save libbkmz/4017161 to your computer and use it in GitHub Desktop.
Save libbkmz/4017161 to your computer and use it in GitHub Desktop.
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