tracker 추가
This commit is contained in:
parent
7205a97679
commit
8b38ea5f62
|
|
@ -4,4 +4,5 @@ Scripts/
|
|||
Include/
|
||||
src/__pycache__
|
||||
*.pyc
|
||||
pyvenv.cfg
|
||||
pyvenv.cfg
|
||||
src/browsers/user_data/
|
||||
Binary file not shown.
178
SMS_Sender.log
178
SMS_Sender.log
|
|
@ -865,3 +865,181 @@ NoneType: None
|
|||
[2025-02-11 17:42:53,111] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-02-11 17:42:55,214] [MainThread] [DEBUG] [settings_dialog.py:load_sms_quota:204] 저장된 문자 할당량 로드: 이야기모바일, 345건
|
||||
[2025-02-11 17:43:12,736] [MainThread] [DEBUG] [settings_dialog.py:load_sms_quota:204] 저장된 문자 할당량 로드: 이야기모바일, 345건
|
||||
[2025-03-15 22:47:01,208] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 22:47:01,209] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 22:47:01,597] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 22:47:01,598] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 22:47:01,599] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 22:47:01,990] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 22:47:01,991] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 22:47:21,850] [MainThread] [INFO] [template_management_dialog.py:on_step_changed:94] 주문 단계 변경: 1 - 통관번호 요청
|
||||
[2025-03-15 22:47:21,857] [MainThread] [INFO] [template_management_dialog.py:on_template_selected:153] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 22:47:21,860] [MainThread] [INFO] [template_management_dialog.py:on_template_selected:153] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 22:47:21,862] [MainThread] [INFO] [template_management_dialog.py:restore_settings:192] 템플릿 설정 복원 완료
|
||||
[2025-03-15 22:47:24,266] [MainThread] [INFO] [template_management_dialog.py:on_template_selected:153] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 22:47:25,165] [MainThread] [INFO] [template_management_dialog.py:on_template_selected:153] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 22:47:37,506] [MainThread] [INFO] [main_window.py:start_login:130] Google Messages 로그인 시작
|
||||
[2025-03-15 22:47:37,507] [MainThread] [DEBUG] [sms_worker.py:do_login:34] Worker: do_login() started (async)
|
||||
[2025-03-15 22:47:39,131] [MainThread] [DEBUG] [sms_module_Thread.py:login:96] current page : https://messages.google.com/web/authentication
|
||||
[2025-03-15 22:47:39,131] [MainThread] [INFO] [sms_module_Thread.py:login:104] AsyncSMSMessenger: 로그인 페이지로 이동합니다.
|
||||
[2025-03-15 22:47:41,322] [MainThread] [DEBUG] [sms_module_Thread.py:login:132] qr코드가 변경됨.
|
||||
[2025-03-15 22:47:42,417] [MainThread] [DEBUG] [sms_worker.py:handle_qr_found:64] Worker: QR code detected, emitting qrCodeFound signal : qr_code.png
|
||||
[2025-03-15 22:47:42,418] [MainThread] [INFO] [main_window.py:show_qr_dialog:321] MainWindow: QR 다이얼로그 표시
|
||||
[2025-03-15 22:47:55,649] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 22:47:55,650] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 22:47:55,864] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 22:47:55,864] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 22:47:55,865] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 22:47:56,121] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 22:47:56,122] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 22:52:51,154] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 22:52:51,155] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 22:52:51,367] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 22:52:51,367] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 22:52:51,368] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 22:52:51,583] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 22:52:51,584] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 22:52:54,032] [MainThread] [INFO] [main_window.py:closeEvent:345] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 22:54:07,335] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 22:54:07,336] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 22:54:07,560] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 22:54:07,561] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 22:54:07,561] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 22:54:07,777] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 22:54:07,778] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 22:54:09,662] [MainThread] [INFO] [main_window.py:closeEvent:345] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 22:56:11,268] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 22:56:11,269] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 22:56:11,489] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 22:56:11,490] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 22:56:11,490] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 22:56:11,712] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 22:56:11,713] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 22:56:13,335] [MainThread] [INFO] [main_window.py:closeEvent:345] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 22:57:04,762] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 22:57:04,763] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 22:57:04,979] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 22:57:04,980] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 22:57:04,981] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 22:57:05,190] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 22:57:05,191] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 22:57:07,026] [MainThread] [INFO] [main_window.py:closeEvent:345] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 22:58:04,463] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 22:58:04,464] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 22:58:04,675] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 22:58:04,676] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 22:58:04,676] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 22:58:04,880] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 22:58:04,881] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 22:58:06,788] [MainThread] [INFO] [main_window.py:closeEvent:345] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 22:58:52,519] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 22:58:52,519] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 22:58:52,732] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 22:58:52,733] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 22:58:52,733] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 22:58:52,942] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 22:58:52,943] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 22:58:54,575] [MainThread] [INFO] [main_window.py:closeEvent:345] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 22:58:54,581] [MainThread] [DEBUG] [sms_module_Thread.py:disconnect:285] disconnect.
|
||||
[2025-03-15 22:58:54,582] [MainThread] [DEBUG] [sms_module_Thread.py:disconnect:287] browser.
|
||||
[2025-03-15 23:00:13,095] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 23:00:13,096] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 23:00:13,316] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 23:00:13,317] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 23:00:13,317] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 23:00:13,534] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 23:00:13,535] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 23:01:54,106] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 23:01:54,106] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 23:01:54,340] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 23:01:54,341] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 23:01:54,342] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 23:01:54,577] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 23:01:54,578] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 23:01:56,139] [MainThread] [INFO] [main_window.py:closeEvent:345] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 23:03:23,634] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 23:03:23,635] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 23:03:23,847] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 23:03:23,847] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 23:03:23,848] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 23:03:24,059] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 23:03:24,060] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 23:03:28,871] [MainThread] [INFO] [main_window.py:closeEvent:347] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 23:04:04,293] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 23:04:04,294] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 23:04:04,507] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 23:04:04,508] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 23:04:04,508] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 23:04:04,731] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 23:04:04,732] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 23:04:06,403] [MainThread] [INFO] [main_window.py:start_login:132] Google Messages 로그인 시작
|
||||
[2025-03-15 23:04:06,404] [MainThread] [DEBUG] [sms_worker.py:do_login:34] Worker: do_login() started (async)
|
||||
[2025-03-15 23:04:07,024] [MainThread] [DEBUG] [sms_module_Thread.py:login:96] current page : https://messages.google.com/web/authentication
|
||||
[2025-03-15 23:04:07,024] [MainThread] [INFO] [sms_module_Thread.py:login:104] AsyncSMSMessenger: 로그인 페이지로 이동합니다.
|
||||
[2025-03-15 23:04:09,162] [MainThread] [DEBUG] [sms_module_Thread.py:login:132] qr코드가 변경됨.
|
||||
[2025-03-15 23:04:10,255] [MainThread] [DEBUG] [sms_worker.py:handle_qr_found:64] Worker: QR code detected, emitting qrCodeFound signal : qr_code.png
|
||||
[2025-03-15 23:04:10,256] [MainThread] [INFO] [main_window.py:show_qr_dialog:323] MainWindow: QR 다이얼로그 표시
|
||||
[2025-03-15 23:04:17,150] [MainThread] [INFO] [main_window.py:closeEvent:347] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 23:05:53,183] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 23:05:53,184] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 23:05:53,409] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 23:05:53,411] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 23:05:53,411] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 23:05:53,625] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 23:05:54,372] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 23:05:55,189] [MainThread] [INFO] [main_window.py:start_login:132] Google Messages 로그인 시작
|
||||
[2025-03-15 23:05:55,190] [MainThread] [DEBUG] [sms_worker.py:do_login:34] Worker: do_login() started (async)
|
||||
[2025-03-15 23:05:55,190] [MainThread] [DEBUG] [sms_module_Thread.py:login:99] current page : https://messages.google.com/web/authentication
|
||||
[2025-03-15 23:05:56,548] [MainThread] [DEBUG] [sms_module_Thread.py:login:135] qr코드가 변경됨.
|
||||
[2025-03-15 23:05:57,638] [MainThread] [DEBUG] [sms_worker.py:handle_qr_found:64] Worker: QR code detected, emitting qrCodeFound signal : qr_code.png
|
||||
[2025-03-15 23:05:57,639] [MainThread] [INFO] [main_window.py:show_qr_dialog:323] MainWindow: QR 다이얼로그 표시
|
||||
[2025-03-15 23:06:22,323] [MainThread] [INFO] [template_management_dialog.py:on_step_changed:94] 주문 단계 변경: 1 - 통관번호 요청
|
||||
[2025-03-15 23:06:22,329] [MainThread] [INFO] [template_management_dialog.py:on_template_selected:153] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 23:06:22,332] [MainThread] [INFO] [template_management_dialog.py:on_template_selected:153] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 23:06:22,334] [MainThread] [INFO] [template_management_dialog.py:restore_settings:192] 템플릿 설정 복원 완료
|
||||
[2025-03-15 23:06:23,891] [MainThread] [INFO] [template_management_dialog.py:on_template_selected:153] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 23:06:31,929] [MainThread] [INFO] [main_window.py:closeEvent:347] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 23:06:49,879] [MainThread] [DEBUG] [sms_worker.py:run:27] Worker: run() started (async)
|
||||
[2025-03-15 23:06:49,880] [MainThread] [DEBUG] [sms_module_Thread.py:connect:47] 시작 중...
|
||||
[2025-03-15 23:06:50,095] [MainThread] [DEBUG] [sms_module_Thread.py:connect:52] base_path: D:\py\Mycar_SMS_Sender2\src
|
||||
[2025-03-15 23:06:50,096] [MainThread] [DEBUG] [sms_module_Thread.py:connect:57] 브라우저 경로: D:\py\Mycar_SMS_Sender2\src\browsers\chromium-1140\chrome-win\chrome.exe
|
||||
[2025-03-15 23:06:50,097] [MainThread] [DEBUG] [sms_module_Thread.py:connect:58] 사용자 폴더 경로: D:\py\Mycar_SMS_Sender2\src\browsers\user_data
|
||||
[2025-03-15 23:06:50,327] [MainThread] [INFO] [sms_module_Thread.py:connect:88] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 23:06:51,194] [MainThread] [DEBUG] [sms_worker.py:run:29] Worker: Browser initialized. Waiting for login command (async).
|
||||
[2025-03-15 23:06:58,421] [MainThread] [INFO] [main_window.py:closeEvent:347] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 23:07:34,437] [INFO] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 23:07:39,572] [ERROR] DB에서 통신사 목록을 가져올 수 없습니다.
|
||||
NoneType: None
|
||||
|
||||
[2025-03-15 23:07:59,879] [INFO] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 23:12:44,743] [INFO] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 23:12:46,334] [INFO] 주문 단계 변경: 1 - 통관번호 요청
|
||||
[2025-03-15 23:12:46,340] [INFO] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 23:12:46,342] [INFO] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 23:12:46,343] [INFO] 템플릿 설정 복원 완료
|
||||
[2025-03-15 23:12:47,983] [INFO] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 23:12:55,792] [INFO] 주문 단계 변경: 1 - 통관번호 요청
|
||||
[2025-03-15 23:12:55,795] [INFO] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 23:12:55,797] [INFO] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 23:12:55,799] [INFO] 템플릿 설정 복원 완료
|
||||
[2025-03-15 23:14:57,686] [INFO] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 23:15:26,423] [INFO] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 23:17:09,307] [INFO] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 23:18:14,696] [INFO] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 23:18:24,959] [INFO] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 23:22:51,881] [INFO] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 23:22:55,989] [ERROR] 샵 이름 삭제 에러: invalid literal for int() with base 10: '3업자'
|
||||
Traceback (most recent call last):
|
||||
File "D:\py\Mycar_SMS_Sender2\gui\settings_dialog.py", line 355, in delete_item
|
||||
tag_num = int(tag_str.replace("사", ""))
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
ValueError: invalid literal for int() with base 10: '3업자'
|
||||
|
||||
[2025-03-15 23:23:16,072] [INFO] MainWindow: 종료 전 cleanup 시작
|
||||
[2025-03-15 23:23:44,407] [INFO] 브라우저와 페이지 연결 완료.
|
||||
[2025-03-15 23:24:15,236] [INFO] 주문 단계 변경: 1 - 통관번호 요청
|
||||
[2025-03-15 23:24:15,241] [INFO] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 23:24:15,243] [INFO] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 23:24:15,244] [INFO] 템플릿 설정 복원 완료
|
||||
[2025-03-15 23:24:16,665] [INFO] 템플릿 선택됨: ID 1
|
||||
[2025-03-15 23:24:46,453] [INFO] MainWindow: 종료 전 cleanup 시작
|
||||
|
|
|
|||
|
|
@ -19,19 +19,21 @@ import logging
|
|||
import asyncio
|
||||
|
||||
class MainWindow(QMainWindow):
|
||||
def __init__(self):
|
||||
def __init__(self, loop):
|
||||
super().__init__()
|
||||
self.logger = Logger(gui_logger=self.append_log, log_file="SMS_Sender.log", logger_name="SMS_Sender_Logger", level=logging.DEBUG)
|
||||
self.logger = Logger(gui_logger=self.append_log, log_file="SMS_Sender.log", logger_name="SMS_Sender_Logger", level=logging.INFO)
|
||||
|
||||
self.settings = QSettings("When_Ride_Mycar", "SMS_Sender")
|
||||
self.db_manager = DatabaseManager(self.logger) # SQLite, SQLAlchemy 기반 DB 관리자
|
||||
|
||||
self.setWindowTitle("주문 알림 SMS 전송 프로그램")
|
||||
self.setWindowTitle("내차는 언제타냐!! 주문 알림 SMS 전송 프로그램")
|
||||
self.resize(900, 700)
|
||||
self.setup_menu()
|
||||
self.setup_ui()
|
||||
self.apply_styles()
|
||||
|
||||
self.loop = loop
|
||||
|
||||
# 매달 1일(또는 저장된 월과 현재 월이 다르면) SMS 카운트 초기화
|
||||
self.check_and_reset_sms_count()
|
||||
self.update_sms_count_label()
|
||||
|
|
@ -39,7 +41,7 @@ class MainWindow(QMainWindow):
|
|||
self.refresh_order_list()
|
||||
|
||||
# SMSMessengerWorker 생성 (async 방식)
|
||||
self.sms_worker = SMSMessengerWorker(self.logger, headless=False, delay=1)
|
||||
self.sms_worker = SMSMessengerWorker(self.logger, headless=True, delay=1)
|
||||
self.qr_dialog = None
|
||||
|
||||
# 시그널 연결: Worker에서 QR 코드 감지 및 로그인 성공 시 UI 업데이트
|
||||
|
|
@ -118,7 +120,7 @@ class MainWindow(QMainWindow):
|
|||
main_layout.addWidget(QLabel("로그:"))
|
||||
main_layout.addWidget(self.log_display)
|
||||
|
||||
self.logger.log_signal.connect(self.append_log)
|
||||
# self.logger.log_signal.connect(self.append_log)
|
||||
self.order_table.itemChanged.connect(self.item_changed_slot)
|
||||
|
||||
@Slot(str)
|
||||
|
|
@ -341,6 +343,35 @@ class MainWindow(QMainWindow):
|
|||
success_dialog.exec()
|
||||
# (추가: 메시지 전송 페이지로 이동하는 등 후속 처리 가능)
|
||||
|
||||
def closeEvent(self, event):
|
||||
self.logger.log("MainWindow: 종료 전 cleanup 시작", level=logging.INFO)
|
||||
# cleanup()를 비동기로 실행한 후, 일정 시간 후 강제로 이벤트 루프 종료를 시도합니다.
|
||||
asyncio.create_task(self.cleanup())
|
||||
event.accept()
|
||||
|
||||
async def cleanup(self):
|
||||
try:
|
||||
self.loop.stop()
|
||||
self.loop.close()
|
||||
|
||||
# disconnect()에 5초 timeout 적용
|
||||
await asyncio.wait_for(self.sms_worker.sms_messenger.disconnect(), timeout=5)
|
||||
self.logger.log("MainWindow: disconnect 완료", level=logging.INFO)
|
||||
except asyncio.TimeoutError:
|
||||
self.logger.error("MainWindow: disconnect 타임아웃 발생", exc_info=True)
|
||||
except Exception as e:
|
||||
self.logger.error(f"MainWindow: disconnect 중 에러 발생: {e}", exc_info=True)
|
||||
finally:
|
||||
# 미완료 태스크 취소
|
||||
tasks = [t for t in asyncio.all_tasks() if t is not asyncio.current_task()]
|
||||
for task in tasks:
|
||||
task.cancel()
|
||||
await asyncio.gather(*tasks, return_exceptions=True)
|
||||
self.logger.log("MainWindow: 모든 태스크 취소 완료", level=logging.INFO)
|
||||
# 이벤트 루프 종료 요청
|
||||
QCoreApplication.quit()
|
||||
import sys
|
||||
sys.exit(0)
|
||||
|
||||
class QRDialog(QDialog):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from PySide6.QtWidgets import (
|
|||
QDialog, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton,
|
||||
QListWidget, QLabel, QMessageBox, QTabWidget, QWidget, QComboBox
|
||||
)
|
||||
from PySide6.QtCore import Qt
|
||||
from PySide6.QtCore import Qt, QEvent, Signal
|
||||
import logging
|
||||
|
||||
class ShopTagDialog(QDialog):
|
||||
|
|
@ -20,14 +20,16 @@ class ShopTagDialog(QDialog):
|
|||
layout.addWidget(label)
|
||||
|
||||
self.combo = QComboBox()
|
||||
self.combo.setEditable(True)
|
||||
# available_tags가 예: [3, 4, 5, 6, 7]라면 콤보박스에는 "3사", "4사", ... 로 표시
|
||||
for tag in available_tags:
|
||||
self.combo.addItem(f"{tag}사", tag)
|
||||
layout.addWidget(self.combo)
|
||||
|
||||
# 엔터키를 누르면 다이얼로그를 수락하도록 연결합니다.
|
||||
self.combo.lineEdit().returnPressed.connect(self.accept)
|
||||
|
||||
# 엔터키를 누르면 다이얼로그를 수락
|
||||
if self.combo.lineEdit() is not None:
|
||||
self.combo.lineEdit().returnPressed.connect(self.accept)
|
||||
|
||||
button_layout = QHBoxLayout()
|
||||
ok_button = QPushButton("확인")
|
||||
cancel_button = QPushButton("취소")
|
||||
|
|
@ -43,6 +45,18 @@ class ShopTagDialog(QDialog):
|
|||
self.selected_tag = self.combo.currentData()
|
||||
return result
|
||||
|
||||
class setListWidget(QListWidget):
|
||||
# DEL 키 입력 시 발생시키는 커스텀 시그널
|
||||
deletePressed = Signal()
|
||||
|
||||
def keyPressEvent(self, event):
|
||||
if event.key() == Qt.Key_Delete:
|
||||
# DEL 키가 눌리면 시그널을 emit하고 기본 동작(선택 해제 등)은 하지 않음.
|
||||
self.deletePressed.emit()
|
||||
event.accept()
|
||||
else:
|
||||
super().keyPressEvent(event)
|
||||
|
||||
class SettingsDialog(QDialog):
|
||||
def __init__(self, logger, db_manager, parent=None):
|
||||
"""
|
||||
|
|
@ -85,8 +99,11 @@ class SettingsDialog(QDialog):
|
|||
tab_layout = QVBoxLayout(tab)
|
||||
|
||||
# 저장된 항목을 표시하는 리스트 위젯
|
||||
list_widget = QListWidget()
|
||||
list_widget = setListWidget()
|
||||
list_widget.setToolTip(f"저장된 {display_name} 목록을 확인하세요.")
|
||||
# 리스트 위젯에 이벤트 필터 설치 (DEL 키 처리용)
|
||||
list_widget.installEventFilter(self)
|
||||
|
||||
tab_layout.addWidget(list_widget)
|
||||
|
||||
# 입력창과 추가 버튼을 담는 수평 레이아웃
|
||||
|
|
@ -133,6 +150,15 @@ class SettingsDialog(QDialog):
|
|||
button_layout.addWidget(close_button)
|
||||
main_layout.addLayout(button_layout)
|
||||
|
||||
def eventFilter(self, obj, event):
|
||||
# 리스트 위젯에서 Delete 키 누르면 삭제 처리
|
||||
if event.type() == QEvent.KeyPress and event.key() == Qt.Key_Delete:
|
||||
# widgets 딕셔너리에서 해당 리스트 위젯을 찾습니다.
|
||||
for category, widget_dict in self.widgets.items():
|
||||
if widget_dict.get("list") == obj:
|
||||
self.delete_item(category)
|
||||
return True
|
||||
return super().eventFilter(obj, event)
|
||||
|
||||
|
||||
def setup_sms_quota_tab(self):
|
||||
|
|
@ -326,11 +352,11 @@ class SettingsDialog(QDialog):
|
|||
try:
|
||||
tag_str = text.split("]")[0][1:] # 예: "[3사" -> "3사"
|
||||
# tag_str이 "3사"이면 tag를 정수로 변환
|
||||
tag_num = int(tag_str.replace("사", ""))
|
||||
tag_num = int(tag_str.replace("사업자", ""))
|
||||
shop_name = text.split("]", 1)[1].strip()
|
||||
self.db_manager.delete_shop_setting(category, shop_name, tag_num)
|
||||
except Exception:
|
||||
pass
|
||||
except Exception as e:
|
||||
self.logger.log(f"샵 이름 삭제 에러: {e}", level=logging.ERROR, exc_info=True)
|
||||
else:
|
||||
self.db_manager.delete_setting(category, item.text())
|
||||
self.load_all_settings()
|
||||
|
|
|
|||
2
main.py
2
main.py
|
|
@ -10,7 +10,7 @@ def main():
|
|||
loop = QEventLoop(app)
|
||||
asyncio.set_event_loop(loop)
|
||||
|
||||
window = MainWindow()
|
||||
window = MainWindow(loop)
|
||||
window.show()
|
||||
|
||||
with loop:
|
||||
|
|
|
|||
BIN
qr_code.png
BIN
qr_code.png
Binary file not shown.
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
MANIFEST-000001
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
2025/02/11-17:06:53.627 1dac Creating DB D:\py\Mycar_SMS_Sender2\src\browsers\user_data\Default\Extension Rules since it was missing.
|
||||
2025/02/11-17:06:53.636 1dac Reusing MANIFEST D:\py\Mycar_SMS_Sender2\src\browsers\user_data\Default\Extension Rules/MANIFEST-000001
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
MANIFEST-000001
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
2025/02/11-17:06:53.644 1dac Creating DB D:\py\Mycar_SMS_Sender2\src\browsers\user_data\Default\Extension Scripts since it was missing.
|
||||
2025/02/11-17:06:53.647 1dac Reusing MANIFEST D:\py\Mycar_SMS_Sender2\src\browsers\user_data\Default\Extension Scripts/MANIFEST-000001
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
MANIFEST-000001
|
||||
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
MANIFEST-000001
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
MANIFEST-000001
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue