medicafe 0.250725.4__tar.gz → 0.250725.6__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.

Files changed (59) hide show
  1. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot.py +8 -21
  2. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_UI.py +15 -27
  3. {medicafe-0.250725.4 → medicafe-0.250725.6}/PKG-INFO +1 -1
  4. {medicafe-0.250725.4 → medicafe-0.250725.6}/medicafe.egg-info/PKG-INFO +1 -1
  5. {medicafe-0.250725.4 → medicafe-0.250725.6}/setup.py +1 -1
  6. {medicafe-0.250725.4 → medicafe-0.250725.6}/LICENSE +0 -0
  7. {medicafe-0.250725.4 → medicafe-0.250725.6}/MANIFEST.in +0 -0
  8. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot.bat +0 -0
  9. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_Charges.py +0 -0
  10. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_Crosswalk_Library.py +0 -0
  11. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_Post.py +0 -0
  12. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_Preprocessor.py +0 -0
  13. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_Preprocessor_lib.py +0 -0
  14. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_dataformat_library.py +0 -0
  15. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/MediBot_docx_decoder.py +0 -0
  16. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/PDF_to_CSV_Cleaner.py +0 -0
  17. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/__init__.py +0 -0
  18. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/update_json.py +0 -0
  19. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediBot/update_medicafe.py +0 -0
  20. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink.py +0 -0
  21. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_837p_cob_library.py +0 -0
  22. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_837p_encoder.py +0 -0
  23. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_837p_encoder_library.py +0 -0
  24. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_837p_utilities.py +0 -0
  25. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_API_Generator.py +0 -0
  26. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_API_v2.py +0 -0
  27. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_API_v3.py +0 -0
  28. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_APIs.py +0 -0
  29. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Azure.py +0 -0
  30. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_ClaimStatus.py +0 -0
  31. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_ConfigLoader.py +0 -0
  32. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_DataMgmt.py +0 -0
  33. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Decoder.py +0 -0
  34. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Deductible.py +0 -0
  35. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Deductible_Validator.py +0 -0
  36. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Down.py +0 -0
  37. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Gmail.py +0 -0
  38. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_GraphQL.py +0 -0
  39. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Mailer.py +0 -0
  40. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Parser.py +0 -0
  41. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Scan.py +0 -0
  42. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Scheduler.py +0 -0
  43. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_UI.py +0 -0
  44. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_Up.py +0 -0
  45. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/MediLink_batch.bat +0 -0
  46. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/Soumit_api.py +0 -0
  47. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/__init__.py +0 -0
  48. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/openssl.cnf +0 -0
  49. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/test.py +0 -0
  50. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/test_cob_library.py +0 -0
  51. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/test_validation.py +0 -0
  52. {medicafe-0.250725.4 → medicafe-0.250725.6}/MediLink/webapp.html +0 -0
  53. {medicafe-0.250725.4 → medicafe-0.250725.6}/README.md +0 -0
  54. {medicafe-0.250725.4 → medicafe-0.250725.6}/medicafe.egg-info/SOURCES.txt +0 -0
  55. {medicafe-0.250725.4 → medicafe-0.250725.6}/medicafe.egg-info/dependency_links.txt +0 -0
  56. {medicafe-0.250725.4 → medicafe-0.250725.6}/medicafe.egg-info/not-zip-safe +0 -0
  57. {medicafe-0.250725.4 → medicafe-0.250725.6}/medicafe.egg-info/requires.txt +0 -0
  58. {medicafe-0.250725.4 → medicafe-0.250725.6}/medicafe.egg-info/top_level.txt +0 -0
  59. {medicafe-0.250725.4 → medicafe-0.250725.6}/setup.cfg +0 -0
@@ -33,25 +33,14 @@ def flush_console_input_buffer():
33
33
 
34
34
  def discard_leading_blank():
35
35
  """
36
- Alternative fallback that reads from stdin and discards leading newlines,
37
- then puts back the first non-newline character for the real input() call.
36
+ Alternative fallback that uses non-blocking msvcrt to drain any available input.
38
37
  """
39
38
  if sys.platform != "win32":
40
39
  return # no-op on non-Windows
41
40
 
42
- try:
43
- while True:
44
- ch = sys.stdin.read(1)
45
- if ch not in ('\r', '\n'):
46
- # put it back for the real input() call
47
- msvcrt.ungetch(ch.encode())
48
- break
49
- elif not ch: # EOF
50
- break
51
- except Exception:
52
- # If stdin.read fails, fall back to msvcrt approach
53
- while msvcrt.kbhit():
54
- msvcrt.getch()
41
+ # Use non-blocking msvcrt approach to drain any available input
42
+ while msvcrt.kbhit():
43
+ msvcrt.getch()
55
44
 
56
45
  try:
57
46
  from MediBot_Crosswalk_Library import crosswalk_update
@@ -443,10 +432,9 @@ if __name__ == "__main__":
443
432
 
444
433
  # Flush console input buffer to remove any stray CR/LF
445
434
  flush_console_input_buffer()
446
- discard_leading_blank()
447
435
 
448
- # Use sys.stdin.readline() for more reliable input on Windows XP
449
- proceed = sys.stdin.readline().lower().strip() in ['yes', 'y']
436
+ # Use input() for more reliable input on Windows XP
437
+ proceed = input().lower().strip() in ['yes', 'y']
450
438
  else:
451
439
  print("\nDo you want to proceed with the {} remaining patient(s)? (yes/no): ".format(len(patients_to_process)), end='', flush=True)
452
440
  # Force flush and wait for Windows XP console buffer synchronization
@@ -455,10 +443,9 @@ if __name__ == "__main__":
455
443
 
456
444
  # Flush console input buffer to remove any stray CR/LF
457
445
  flush_console_input_buffer()
458
- discard_leading_blank()
459
446
 
460
- # Use sys.stdin.readline() for more reliable input on Windows XP
461
- proceed = sys.stdin.readline().lower().strip() in ['yes', 'y']
447
+ # Use input() for more reliable input on Windows XP
448
+ proceed = input().lower().strip() in ['yes', 'y']
462
449
 
463
450
  # TODO: Here is where we need to add the step where we move to MediBot_Charges.
464
451
  # The return is an enriched dataset to be picked up by MediBot which means we need to return:
@@ -39,25 +39,14 @@ def flush_console_input_buffer():
39
39
 
40
40
  def discard_leading_blank():
41
41
  """
42
- Alternative fallback that reads from stdin and discards leading newlines,
43
- then puts back the first non-newline character for the real input() call.
42
+ Alternative fallback that uses non-blocking msvcrt to drain any available input.
44
43
  """
45
44
  if sys.platform != "win32":
46
45
  return # no-op on non-Windows
47
46
 
48
- try:
49
- while True:
50
- ch = sys.stdin.read(1)
51
- if ch not in ('\r', '\n'):
52
- # put it back for the real input() call
53
- msvcrt.ungetch(ch.encode())
54
- break
55
- elif not ch: # EOF
56
- break
57
- except Exception:
58
- # If stdin.read fails, fall back to msvcrt approach
59
- while msvcrt.kbhit():
60
- msvcrt.getch()
47
+ # Use non-blocking msvcrt approach to drain any available input
48
+ while msvcrt.kbhit():
49
+ msvcrt.getch()
61
50
 
62
51
  class AppControl:
63
52
  def __init__(self):
@@ -195,10 +184,9 @@ def display_patient_selection_menu(csv_data, reverse_mapping, proceed_as_medicar
195
184
 
196
185
  # Flush console input buffer to remove any stray CR/LF
197
186
  flush_console_input_buffer()
198
- discard_leading_blank()
199
187
 
200
- # Use sys.stdin.readline() for more reliable input on Windows XP
201
- proceed = sys.stdin.readline().lower().strip() in ['yes', 'y']
188
+ # Use input() for more reliable input on Windows XP
189
+ proceed = input().lower().strip() in ['yes', 'y']
202
190
 
203
191
  if not proceed:
204
192
  display_menu_header("Patient Selection for Today's Data Entry")
@@ -214,10 +202,9 @@ def display_patient_selection_menu(csv_data, reverse_mapping, proceed_as_medicar
214
202
 
215
203
  # Flush console input buffer to remove any stray CR/LF
216
204
  flush_console_input_buffer()
217
- discard_leading_blank()
218
205
 
219
- # Use sys.stdin.readline() for more reliable input on Windows XP
220
- selection = sys.stdin.readline().strip()
206
+ # Use input() for more reliable input on Windows XP
207
+ selection = input().strip()
221
208
  if not selection:
222
209
  print("Invalid entry. Please provide at least one number.")
223
210
  continue
@@ -298,10 +285,9 @@ def handle_user_interaction(interaction_mode, error_message):
298
285
 
299
286
  # Flush console input buffer to remove any stray CR/LF
300
287
  flush_console_input_buffer()
301
- discard_leading_blank()
302
288
 
303
- # Use sys.stdin.readline() for more reliable input on Windows XP
304
- choice = sys.stdin.readline().strip()
289
+ # Use input() for more reliable input on Windows XP
290
+ choice = input().strip()
305
291
 
306
292
  if choice == '1':
307
293
  print("Selected: 'Retry last entry'. Please press 'F12' to continue.")
@@ -333,7 +319,6 @@ def user_interaction(csv_data, interaction_mode, error_message, reverse_mapping)
333
319
 
334
320
  # Flush console input buffer to remove any stray CR/LF from script launch
335
321
  flush_console_input_buffer()
336
- discard_leading_blank()
337
322
 
338
323
  while True:
339
324
  try:
@@ -343,8 +328,11 @@ def user_interaction(csv_data, interaction_mode, error_message, reverse_mapping)
343
328
  sys.stdout.flush()
344
329
  time.sleep(0.2) # Increased delay for Windows XP
345
330
 
346
- # Use sys.stdin.readline() for more reliable input on Windows XP
347
- response = sys.stdin.readline().lower().strip()
331
+ # Use input() for more reliable input on Windows XP
332
+ response = input().lower().strip()
333
+
334
+ # Debug: Print what we actually got
335
+ print("DEBUG: Got response: '{}' (length: {})".format(response, len(response)))
348
336
 
349
337
  if response:
350
338
  if response in ['yes', 'y']:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: medicafe
3
- Version: 0.250725.4
3
+ Version: 0.250725.6
4
4
  Summary: MediCafe
5
5
  Home-page: https://github.com/katanada2
6
6
  Author: Daniel Vidaud
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: medicafe
3
- Version: 0.250725.4
3
+ Version: 0.250725.6
4
4
  Summary: MediCafe
5
5
  Home-page: https://github.com/katanada2
6
6
  Author: Daniel Vidaud
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='medicafe',
5
- version="0.250725.4",
5
+ version="0.250725.6",
6
6
  description='MediCafe',
7
7
  long_description="""
8
8
  # Project Overview: MediCafe
File without changes
File without changes
File without changes
File without changes