Преглед изворни кода

alpha build complete

alpha
Jeong Geol Kim пре 4 година
родитељ
комит
75e89eeb6c
2 измењених фајлова са 27 додато и 10 уклоњено
  1. 26
    9
      main.py
  2. 1
    1
      settings.json

+ 26
- 9
main.py Прегледај датотеку

25
 window.geometry(settings[1])
25
 window.geometry(settings[1])
26
 window.resizable(False,False)
26
 window.resizable(False,False)
27
 
27
 
28
-def sshConnect():
28
+def sshConnect(cs, sd):
29
+    cs = cs
30
+    sd = sd
31
+    ssh = paramiko.SSHClient()
32
+    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
33
+    ssh.connect(settings[4],port= settings[3], username=settings[5], password=settings[6])
34
+    data_root_dir = './data/'+cs+sd
35
+    stdin, stdout, stderr = ssh.exec_command('mkdir ' + data_root_dir)
36
+    #TODO: 여기에 도커 명령어 및 동시 녹화 코드 입력
37
+    stdin, stdout, stderr = ssh.exec_command('docker run --rm --name mail_recorder --gpus 1 --privileged -v /dev:/dev -v /home/mc365/sources:/sources -v /home/mc365/data/'+cs+sd+':/data/'+cs+sd+' stereolabs/zed:3.5-gl-devel-cuda11.0-ubuntu18.04 python3 /sources/recorder.py')
38
+    
39
+    print(stdout.readlines())
40
+
41
+def sshQuit(cs, sd):
42
+    cs = cs
43
+    sd = sd
29
     ssh = paramiko.SSHClient()
44
     ssh = paramiko.SSHClient()
30
     ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
45
     ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
31
     ssh.connect(settings[4],port= settings[3], username=settings[5], password=settings[6])
46
     ssh.connect(settings[4],port= settings[3], username=settings[5], password=settings[6])
32
 
47
 
33
-    stdin, stdout, stderr = ssh.exec_command('echo this is paramiko')
48
+    stdin, stdout, stderr = ssh.exec_command('docker stop mail_recorder')
49
+    stdin, stdout, stderr = ssh.exec_command('docker run --rm --name extract_01 --gpus 0 --privileged -v /dev:/dev -v /home/mc365/sources:/sources -v /home/mc365/data/'+cs+sd+':/data/'+cs+sd+' ellishuntingmoon/mailsys_extract:latest python3 /sources/extract_01.py')
50
+    stdin, stdout, stderr = ssh.exec_command('docker run --rm --name extract_02 --gpus 1 --privileged -v /dev:/dev -v /home/mc365/sources:/sources -v /home/mc365/data/'+cs+sd+':/data/'+cs+sd+' ellishuntingmoon/mailsys_extract:latest python3 /sources/extract_02.py')
51
+
34
     # TODO: 여기에 스크립트 명령어 입력
52
     # TODO: 여기에 스크립트 명령어 입력
35
     print(stdout.readlines())
53
     print(stdout.readlines())
36
 
54
 
55
+
37
 label_branch = tkinter.Label(window, text = '지점 위치: ' + settings[2] + ' / 수술방 번호: ' + str(settings[3]))
56
 label_branch = tkinter.Label(window, text = '지점 위치: ' + settings[2] + ' / 수술방 번호: ' + str(settings[3]))
38
 label_customer_code = tkinter.Label(window, text="고객번호(지점 번호 포함 9자리)")
57
 label_customer_code = tkinter.Label(window, text="고객번호(지점 번호 포함 9자리)")
39
 
58
 
58
                 label_recording.pack()
77
                 label_recording.pack()
59
             else:
78
             else:
60
                 #TODO: paramiko로 ssh 접속 후 도커 명령어 보낼 것
79
                 #TODO: paramiko로 ssh 접속 후 도커 명령어 보낼 것
80
+                sshConnect(cs, sd)
61
                 button_confirm['text'] = '기록 종료'
81
                 button_confirm['text'] = '기록 종료'
62
                 window.protocol('WM_DELETE_WINDOW', dummyexit)
82
                 window.protocol('WM_DELETE_WINDOW', dummyexit)
63
 
83
 
64
                 label_recording = tkinter.Label(window, text='MAIL system에 수술을 기록 중입니다.\n기록 중단을 원할 시 \n기록 종료 버튼을 눌러주세요.')
84
                 label_recording = tkinter.Label(window, text='MAIL system에 수술을 기록 중입니다.\n기록 중단을 원할 시 \n기록 종료 버튼을 눌러주세요.')
65
                 label_recording.pack()
85
                 label_recording.pack()
66
         
86
         
67
-def askQuit():
87
+def askQuit(customer):
68
     msg_box = messagebox.askquestion("기록 중지 확인", '기록을 중지하시겠습니까?')
88
     msg_box = messagebox.askquestion("기록 중지 확인", '기록을 중지하시겠습니까?')
69
     if msg_box == 'yes':
89
     if msg_box == 'yes':
70
         #TODO: docker 중지 명령어 보내기
90
         #TODO: docker 중지 명령어 보내기
71
-        sshConnect()
91
+        sshQuit()
72
         window.destroy()
92
         window.destroy()
73
 
93
 
74
 
94
 
78
         customer_code = str(entry_customer_code.get())        
98
         customer_code = str(entry_customer_code.get())        
79
         askInformation(customer_code, surgery_date)
99
         askInformation(customer_code, surgery_date)
80
     else:
100
     else:
81
-        askQuit()
101
+        askQuit(customer_code, surgery_date)
82
 # def fillSurgeryDate():
102
 # def fillSurgeryDate():
83
 
103
 
84
 
104
 
97
 
117
 
98
 button_confirm.pack()
118
 button_confirm.pack()
99
 
119
 
100
-window.mainloop()
101
-
102
-
103
-
120
+window.mainloop()

+ 1
- 1
settings.json Прегледај датотеку

2
     "window_name":"365mc M.A.I.L system Recorder",
2
     "window_name":"365mc M.A.I.L system Recorder",
3
     "window_position": "240x240+300+300",
3
     "window_position": "240x240+300+300",
4
     "branch_location": "서울",
4
     "branch_location": "서울",
5
-    "surgery_room_number": 801,
5
+    "surgery_room_number": 803,
6
     "ddns": "mailsys36.iptime.org",
6
     "ddns": "mailsys36.iptime.org",
7
     "account": "mc365",
7
     "account": "mc365",
8
     "password": "tkadbrdhmc1!"
8
     "password": "tkadbrdhmc1!"

Loading…
Откажи
Сачувај