medicafe 0.251029.0__tar.gz → 0.251030.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of medicafe might be problematic. Click here for more details.
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot.bat +53 -2
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/__init__.py +1 -1
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/__init__.py +1 -1
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_Gmail.py +11 -2
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/__init__.py +1 -1
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/webapp.html +7 -1
- {medicafe-0.251029.0 → medicafe-0.251030.1}/PKG-INFO +1 -1
- {medicafe-0.251029.0 → medicafe-0.251030.1}/medicafe.egg-info/PKG-INFO +1 -1
- {medicafe-0.251029.0 → medicafe-0.251030.1}/setup.py +1 -1
- {medicafe-0.251029.0 → medicafe-0.251030.1}/LICENSE +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MANIFEST.in +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot_Charges.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot_Crosswalk_Library.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot_Crosswalk_Utils.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot_Notepad_Utils.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot_Post.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot_Preprocessor.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot_Preprocessor_lib.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot_UI.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot_dataformat_library.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot_debug.bat +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot_docx_decoder.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/MediBot_smart_import.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/clear_cache.bat +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/config_editor.bat +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/config_editor.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/config_editor_helpers.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/crash_diagnostic.bat +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/f_drive_diagnostic.bat +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/full_debug_suite.bat +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/get_medicafe_version.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/process_csvs.bat +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/update_json.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediBot/update_medicafe.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/MediLink_ConfigLoader.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/__main__.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/api_core.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/api_factory.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/api_utils.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/core_utils.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/deductible_utils.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/error_reporter.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/graphql_utils.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/logging_config.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/logging_demo.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/migration_helpers.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/smart_import.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediCafe/submission_index.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/InsuranceTypeService.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_837p_cob_library.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_837p_encoder.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_837p_encoder_library.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_837p_utilities.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_API_Generator.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_Azure.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_Charges.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_ClaimStatus.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_DataMgmt.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_Decoder.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_Deductible.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_Deductible_Validator.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_Display_Utils.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_Down.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_Mailer.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_Parser.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_PatientProcessor.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_Scan.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_Scheduler.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_UI.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_Up.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_insurance_utils.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_main.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/MediLink_smart_import.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/Soumit_api.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/gmail_http_utils.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/gmail_oauth_utils.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/openssl.cnf +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/MediLink/test.py +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/README.md +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/medicafe.egg-info/SOURCES.txt +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/medicafe.egg-info/dependency_links.txt +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/medicafe.egg-info/entry_points.txt +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/medicafe.egg-info/not-zip-safe +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/medicafe.egg-info/requires.txt +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/medicafe.egg-info/top_level.txt +0 -0
- {medicafe-0.251029.0 → medicafe-0.251030.1}/setup.cfg +0 -0
|
@@ -733,7 +733,8 @@ echo 5. Send TEST error report (email)
|
|
|
733
733
|
echo 6. Forced MediCafe version rollback
|
|
734
734
|
echo 7. Process CSV Files
|
|
735
735
|
echo 8. Edit Config File (JSON Editor)
|
|
736
|
-
echo 9.
|
|
736
|
+
echo 9. Force Gmail re-auth (clear token)
|
|
737
|
+
echo 10. Back to Main Menu
|
|
737
738
|
echo.
|
|
738
739
|
set /p tchoice=Enter your choice:
|
|
739
740
|
if "%tchoice%"=="1" goto open_latest_log
|
|
@@ -744,7 +745,8 @@ if "%tchoice%"=="5" goto send_test_error_report
|
|
|
744
745
|
if "%tchoice%"=="6" goto forced_version_rollback
|
|
745
746
|
if "%tchoice%"=="7" goto process_csvs
|
|
746
747
|
if "%tchoice%"=="8" goto config_editor
|
|
747
|
-
if "%tchoice%"=="9" goto
|
|
748
|
+
if "%tchoice%"=="9" goto force_gmail_reauth
|
|
749
|
+
if "%tchoice%"=="10" goto main_menu
|
|
748
750
|
echo Invalid choice. Please try again.
|
|
749
751
|
pause
|
|
750
752
|
goto troubleshooting_menu
|
|
@@ -762,6 +764,55 @@ echo No log files found in %local_storage_path%.
|
|
|
762
764
|
pause
|
|
763
765
|
goto troubleshooting_menu
|
|
764
766
|
|
|
767
|
+
:::: Force Gmail re-auth by clearing cached OAuth token
|
|
768
|
+
::force_gmail_reauth
|
|
769
|
+
cls
|
|
770
|
+
echo ========================================
|
|
771
|
+
echo Force Gmail Re-Authorization
|
|
772
|
+
echo ========================================
|
|
773
|
+
echo.
|
|
774
|
+
echo This will remove the cached Gmail OAuth token file (token.json).
|
|
775
|
+
echo The next Gmail action will open a browser to re-authorize.
|
|
776
|
+
echo.
|
|
777
|
+
set "_ws=%~dp0.."
|
|
778
|
+
set "_token_ml=%_ws%\MediLink\token.json"
|
|
779
|
+
set "_token_root=%_ws%\token.json"
|
|
780
|
+
|
|
781
|
+
set "_cleared=0"
|
|
782
|
+
if exist "%_token_ml%" (
|
|
783
|
+
del /f /q "%_token_ml%" >nul 2>&1
|
|
784
|
+
if not exist "%_token_ml%" (
|
|
785
|
+
echo [OK] Removed %_token_ml%
|
|
786
|
+
set "_cleared=1"
|
|
787
|
+
) else (
|
|
788
|
+
echo [WARN] Could not remove %_token_ml%
|
|
789
|
+
)
|
|
790
|
+
)
|
|
791
|
+
|
|
792
|
+
if exist "%_token_root%" (
|
|
793
|
+
del /f /q "%_token_root%" >nul 2>&1
|
|
794
|
+
if not exist "%_token_root%" (
|
|
795
|
+
echo [OK] Removed %_token_root%
|
|
796
|
+
set "_cleared=1"
|
|
797
|
+
) else (
|
|
798
|
+
echo [WARN] Could not remove %_token_root%
|
|
799
|
+
)
|
|
800
|
+
)
|
|
801
|
+
|
|
802
|
+
if "%_cleared%"=="1" (
|
|
803
|
+
echo.
|
|
804
|
+
echo Gmail token cache cleared. Next Gmail action will prompt re-authorization.
|
|
805
|
+
) else (
|
|
806
|
+
echo.
|
|
807
|
+
echo No Gmail token cache found to remove.
|
|
808
|
+
)
|
|
809
|
+
set "_ws="
|
|
810
|
+
set "_token_ml="
|
|
811
|
+
set "_token_root="
|
|
812
|
+
set "_cleared="
|
|
813
|
+
pause >nul
|
|
814
|
+
goto troubleshooting_menu
|
|
815
|
+
|
|
765
816
|
::: Open WinSCP Logs (download/upload)
|
|
766
817
|
:open_winscp_logs
|
|
767
818
|
echo Looking for WinSCP logs in %local_storage_path%...
|
|
@@ -458,10 +458,19 @@ def open_browser_with_executable(url, browser_path=None):
|
|
|
458
458
|
def initiate_link_retrieval(config):
|
|
459
459
|
log("Initiating browser via implicit GET.")
|
|
460
460
|
medi = extract_medilink_config(config)
|
|
461
|
-
|
|
461
|
+
dep_id = (medi.get('webapp_deployment_id', '') or '').strip()
|
|
462
|
+
if not dep_id:
|
|
463
|
+
log("webapp_deployment_id is empty. Please set it in config before continuing.")
|
|
464
|
+
shutdown_event.set()
|
|
465
|
+
return
|
|
466
|
+
url_get = "https://script.google.com/macros/s/{}/exec?action=get_link".format(dep_id)
|
|
467
|
+
try:
|
|
468
|
+
log("Opening GAS web app: {}".format(url_get))
|
|
469
|
+
except Exception:
|
|
470
|
+
pass
|
|
462
471
|
open_browser_with_executable(url_get)
|
|
463
472
|
log("Preparing POST call.")
|
|
464
|
-
url = "https://script.google.com/macros/s/{}/exec".format(
|
|
473
|
+
url = "https://script.google.com/macros/s/{}/exec".format(dep_id)
|
|
465
474
|
downloaded_emails = list(load_downloaded_emails())
|
|
466
475
|
payload = {"downloadedEmails": downloaded_emails}
|
|
467
476
|
access_token = get_access_token()
|
|
@@ -177,7 +177,13 @@
|
|
|
177
177
|
</main>
|
|
178
178
|
<script>
|
|
179
179
|
document.addEventListener("DOMContentLoaded", () => {
|
|
180
|
-
|
|
180
|
+
try {
|
|
181
|
+
var params = new URLSearchParams(window.location.search || '');
|
|
182
|
+
var actionParam = params.get('action');
|
|
183
|
+
console.log("Document ready, initializing flows... action=", actionParam);
|
|
184
|
+
} catch (e) {
|
|
185
|
+
console.log("Document ready, initializing flows...");
|
|
186
|
+
}
|
|
181
187
|
// initializeEmailListFlow();
|
|
182
188
|
initializeDocxEmailListFlow();
|
|
183
189
|
});
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|