medicafe 0.250725.6__tar.gz → 0.250725.8__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.250725.6 → medicafe-0.250725.8}/MediBot/MediBot_UI.py +61 -12
- {medicafe-0.250725.6 → medicafe-0.250725.8}/PKG-INFO +1 -1
- {medicafe-0.250725.6 → medicafe-0.250725.8}/medicafe.egg-info/PKG-INFO +1 -1
- {medicafe-0.250725.6 → medicafe-0.250725.8}/setup.py +1 -1
- {medicafe-0.250725.6 → medicafe-0.250725.8}/LICENSE +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MANIFEST.in +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediBot/MediBot.bat +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediBot/MediBot.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediBot/MediBot_Charges.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediBot/MediBot_Crosswalk_Library.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediBot/MediBot_Post.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediBot/MediBot_Preprocessor.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediBot/MediBot_Preprocessor_lib.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediBot/MediBot_dataformat_library.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediBot/MediBot_docx_decoder.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediBot/PDF_to_CSV_Cleaner.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediBot/__init__.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediBot/update_json.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediBot/update_medicafe.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_837p_cob_library.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_837p_encoder.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_837p_encoder_library.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_837p_utilities.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_API_Generator.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_API_v2.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_API_v3.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_APIs.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_Azure.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_ClaimStatus.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_ConfigLoader.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_DataMgmt.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_Decoder.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_Deductible.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_Deductible_Validator.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_Down.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_Gmail.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_GraphQL.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_Mailer.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_Parser.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_Scan.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_Scheduler.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_UI.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_Up.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/MediLink_batch.bat +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/Soumit_api.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/__init__.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/openssl.cnf +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/test.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/test_cob_library.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/test_validation.py +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/MediLink/webapp.html +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/README.md +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/medicafe.egg-info/SOURCES.txt +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/medicafe.egg-info/dependency_links.txt +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/medicafe.egg-info/not-zip-safe +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/medicafe.egg-info/requires.txt +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/medicafe.egg-info/top_level.txt +0 -0
- {medicafe-0.250725.6 → medicafe-0.250725.8}/setup.cfg +0 -0
|
@@ -27,15 +27,68 @@ def flush_console_input_buffer():
|
|
|
27
27
|
if sys.platform != "win32":
|
|
28
28
|
return # no-op on non-Windows
|
|
29
29
|
|
|
30
|
+
print("DEBUG_FLUSH: Starting flush_console_input_buffer()")
|
|
31
|
+
|
|
32
|
+
# Check what's in the buffer before flushing
|
|
33
|
+
chars_in_buffer = []
|
|
34
|
+
while msvcrt.kbhit():
|
|
35
|
+
ch = msvcrt.getch()
|
|
36
|
+
chars_in_buffer.append(ch)
|
|
37
|
+
|
|
38
|
+
if chars_in_buffer:
|
|
39
|
+
print("DEBUG_FLUSH: Found {} chars in buffer before flush: {}".format(len(chars_in_buffer), chars_in_buffer))
|
|
40
|
+
else:
|
|
41
|
+
print("DEBUG_FLUSH: No chars found in buffer before flush")
|
|
42
|
+
|
|
30
43
|
try:
|
|
31
44
|
kernel32 = ctypes.WinDLL('kernel32', use_last_error=True)
|
|
32
45
|
STD_INPUT_HANDLE = -10
|
|
33
46
|
h_stdin = kernel32.GetStdHandle(STD_INPUT_HANDLE)
|
|
34
|
-
kernel32.FlushConsoleInputBuffer(h_stdin)
|
|
35
|
-
|
|
47
|
+
result = kernel32.FlushConsoleInputBuffer(h_stdin)
|
|
48
|
+
print("DEBUG_FLUSH: FlushConsoleInputBuffer API call result: {}".format(result))
|
|
49
|
+
except Exception as e:
|
|
50
|
+
print("DEBUG_FLUSH: FlushConsoleInputBuffer API failed: {}".format(e))
|
|
36
51
|
# Fallback: drain any leading newlines manually
|
|
52
|
+
fallback_chars = []
|
|
37
53
|
while msvcrt.kbhit():
|
|
38
|
-
msvcrt.getch()
|
|
54
|
+
ch = msvcrt.getch()
|
|
55
|
+
fallback_chars.append(ch)
|
|
56
|
+
if fallback_chars:
|
|
57
|
+
print("DEBUG_FLUSH: Fallback removed {} chars: {}".format(len(fallback_chars), fallback_chars))
|
|
58
|
+
else:
|
|
59
|
+
print("DEBUG_FLUSH: Fallback found no chars to remove")
|
|
60
|
+
|
|
61
|
+
print("DEBUG_FLUSH: flush_console_input_buffer() completed")
|
|
62
|
+
|
|
63
|
+
def robust_input(prompt="", max_retries=3):
|
|
64
|
+
"""
|
|
65
|
+
Robust input function that handles Windows XP console timing issues.
|
|
66
|
+
Automatically retries if the first input returns empty.
|
|
67
|
+
"""
|
|
68
|
+
print("DEBUG_ROBUST: Starting robust_input with prompt: '{}'".format(prompt))
|
|
69
|
+
|
|
70
|
+
for attempt in range(max_retries):
|
|
71
|
+
if attempt > 0:
|
|
72
|
+
print("DEBUG_ROBUST: Retry attempt {} for input".format(attempt + 1))
|
|
73
|
+
flush_console_input_buffer()
|
|
74
|
+
|
|
75
|
+
# Print prompt only on first attempt, or if it's a retry
|
|
76
|
+
if attempt == 0:
|
|
77
|
+
print("DEBUG_ROBUST: First attempt - calling input(prompt)")
|
|
78
|
+
response = input(prompt).strip()
|
|
79
|
+
else:
|
|
80
|
+
print("DEBUG_ROBUST: Retry attempt - calling input() without prompt")
|
|
81
|
+
response = input().strip()
|
|
82
|
+
|
|
83
|
+
print("DEBUG_ROBUST: Attempt {} got: '{}' (length: {})".format(attempt + 1, response, len(response)))
|
|
84
|
+
|
|
85
|
+
if response:
|
|
86
|
+
print("DEBUG_ROBUST: Success! Returning: '{}'".format(response))
|
|
87
|
+
return response
|
|
88
|
+
|
|
89
|
+
# If all attempts failed, return empty string
|
|
90
|
+
print("DEBUG_ROBUST: All {} attempts failed, returning empty string".format(max_retries))
|
|
91
|
+
return ""
|
|
39
92
|
|
|
40
93
|
def discard_leading_blank():
|
|
41
94
|
"""
|
|
@@ -322,17 +375,13 @@ def user_interaction(csv_data, interaction_mode, error_message, reverse_mapping)
|
|
|
322
375
|
|
|
323
376
|
while True:
|
|
324
377
|
try:
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
sys.stdout.flush()
|
|
329
|
-
time.sleep(0.2) # Increased delay for Windows XP
|
|
330
|
-
|
|
331
|
-
# Use input() for more reliable input on Windows XP
|
|
332
|
-
response = input().lower().strip()
|
|
378
|
+
print("DEBUG_MAIN: About to call robust_input() - waiting for user...")
|
|
379
|
+
# Use robust_input() for more reliable input on Windows XP
|
|
380
|
+
response = robust_input("\nAm I processing Medicare patients? (yes/no): ").lower()
|
|
333
381
|
|
|
334
382
|
# Debug: Print what we actually got
|
|
335
|
-
print("
|
|
383
|
+
print("DEBUG_MAIN: Final response: '{}' (length: {})".format(response, len(response)))
|
|
384
|
+
print("DEBUG_MAIN: Response type: {}, repr: {}".format(type(response), repr(response)))
|
|
336
385
|
|
|
337
386
|
if response:
|
|
338
387
|
if response in ['yes', 'y']:
|
|
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
|