medicafe 0.250811.4__tar.gz → 0.250812.0__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.
Files changed (76) hide show
  1. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/MediBot.bat +10 -4
  2. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/update_medicafe.py +53 -9
  3. {medicafe-0.250811.4 → medicafe-0.250812.0}/PKG-INFO +1 -1
  4. {medicafe-0.250811.4 → medicafe-0.250812.0}/medicafe.egg-info/PKG-INFO +1 -1
  5. {medicafe-0.250811.4 → medicafe-0.250812.0}/setup.py +1 -1
  6. {medicafe-0.250811.4 → medicafe-0.250812.0}/LICENSE +0 -0
  7. {medicafe-0.250811.4 → medicafe-0.250812.0}/MANIFEST.in +0 -0
  8. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/MediBot.py +0 -0
  9. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/MediBot_Charges.py +0 -0
  10. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/MediBot_Crosswalk_Library.py +0 -0
  11. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/MediBot_Crosswalk_Utils.py +0 -0
  12. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/MediBot_Post.py +0 -0
  13. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/MediBot_Preprocessor.py +0 -0
  14. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/MediBot_Preprocessor_lib.py +0 -0
  15. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/MediBot_UI.py +0 -0
  16. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/MediBot_dataformat_library.py +0 -0
  17. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/MediBot_docx_decoder.py +0 -0
  18. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/MediBot_smart_import.py +0 -0
  19. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/__init__.py +0 -0
  20. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/get_medicafe_version.py +0 -0
  21. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediBot/update_json.py +0 -0
  22. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediCafe/MediLink_ConfigLoader.py +0 -0
  23. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediCafe/__init__.py +0 -0
  24. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediCafe/__main__.py +0 -0
  25. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediCafe/api_core.py +0 -0
  26. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediCafe/api_core_backup.py +0 -0
  27. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediCafe/api_factory.py +0 -0
  28. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediCafe/api_utils.py +0 -0
  29. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediCafe/core_utils.py +0 -0
  30. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediCafe/graphql_utils.py +0 -0
  31. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediCafe/logging_config.py +0 -0
  32. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediCafe/logging_demo.py +0 -0
  33. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediCafe/migration_helpers.py +0 -0
  34. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediCafe/smart_import.py +0 -0
  35. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_837p_cob_library.py +0 -0
  36. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_837p_encoder.py +0 -0
  37. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_837p_encoder_library.py +0 -0
  38. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_837p_utilities.py +0 -0
  39. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_API_Generator.py +0 -0
  40. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_Azure.py +0 -0
  41. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_ClaimStatus.py +0 -0
  42. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_DataMgmt.py +0 -0
  43. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_Decoder.py +0 -0
  44. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_Deductible.py +0 -0
  45. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_Deductible_Validator.py +0 -0
  46. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_Display_Utils.py +0 -0
  47. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_Down.py +0 -0
  48. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_Gmail.py +0 -0
  49. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_Mailer.py +0 -0
  50. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_Parser.py +0 -0
  51. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_PatientProcessor.py +0 -0
  52. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_Scan.py +0 -0
  53. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_Scheduler.py +0 -0
  54. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_UI.py +0 -0
  55. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_Up.py +0 -0
  56. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_insurance_utils.py +0 -0
  57. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_main.py +0 -0
  58. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/MediLink_smart_import.py +0 -0
  59. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/Soumit_api.py +0 -0
  60. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/__init__.py +0 -0
  61. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/gmail_http_utils.py +0 -0
  62. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/gmail_oauth_utils.py +0 -0
  63. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/insurance_type_integration_test.py +0 -0
  64. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/openssl.cnf +0 -0
  65. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/test.py +0 -0
  66. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/test_cob_library.py +0 -0
  67. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/test_timing.py +0 -0
  68. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/test_validation.py +0 -0
  69. {medicafe-0.250811.4 → medicafe-0.250812.0}/MediLink/webapp.html +0 -0
  70. {medicafe-0.250811.4 → medicafe-0.250812.0}/medicafe.egg-info/SOURCES.txt +0 -0
  71. {medicafe-0.250811.4 → medicafe-0.250812.0}/medicafe.egg-info/dependency_links.txt +0 -0
  72. {medicafe-0.250811.4 → medicafe-0.250812.0}/medicafe.egg-info/entry_points.txt +0 -0
  73. {medicafe-0.250811.4 → medicafe-0.250812.0}/medicafe.egg-info/not-zip-safe +0 -0
  74. {medicafe-0.250811.4 → medicafe-0.250812.0}/medicafe.egg-info/requires.txt +0 -0
  75. {medicafe-0.250811.4 → medicafe-0.250812.0}/medicafe.egg-info/top_level.txt +0 -0
  76. {medicafe-0.250811.4 → medicafe-0.250812.0}/setup.cfg +0 -0
@@ -497,7 +497,7 @@ echo rem Wait briefly to ensure the main window has exited and released file loc
497
497
  echo ping 127.0.0.1 -n 3 ^>nul>> "%_UPD_RUNNER%"
498
498
  echo echo Starting MediCafe updater...>> "%_UPD_RUNNER%"
499
499
  :: XP-compatible Python presence check
500
- echo python --version ^>nul 2^>^&1>> "%_UPD_RUNNER%"
500
+ echo python --version ^>nul 2^>nul>> "%_UPD_RUNNER%"
501
501
  echo if errorlevel 1 (>> "%_UPD_RUNNER%"
502
502
  echo echo [ERROR] Python not found in PATH. Aborting update.>> "%_UPD_RUNNER%"
503
503
  echo goto :eof>> "%_UPD_RUNNER%"
@@ -506,9 +506,15 @@ echo )>> "%_UPD_RUNNER%"
506
506
  echo python "%upgrade_medicafe%" >> "%_UPD_RUNNER%"
507
507
  echo set "RET=%%ERRORLEVEL%%" >> "%_UPD_RUNNER%"
508
508
  echo echo Update process exited with code %%RET%%>> "%_UPD_RUNNER%"
509
- echo rem Relaunch MediBot if available>> "%_UPD_RUNNER%"
510
- echo if exist "%%MEDIBOT_PATH%%" start "MediBot" "%%MEDIBOT_PATH%%" >> "%_UPD_RUNNER%"
511
- echo exit /b %%RET%%>> "%_UPD_RUNNER%"
509
+ echo if %%RET%% neq 0 (>> "%_UPD_RUNNER%"
510
+ echo echo Update failed. Press any key to close...>> "%_UPD_RUNNER%"
511
+ echo pause ^>nul>> "%_UPD_RUNNER%"
512
+ echo exit /b %%RET%%>> "%_UPD_RUNNER%"
513
+ echo ) else (>> "%_UPD_RUNNER%"
514
+ echo rem Relaunch MediBot on success>> "%_UPD_RUNNER%"
515
+ echo if exist "%%MEDIBOT_PATH%%" start "MediBot" "%%MEDIBOT_PATH%%" >> "%_UPD_RUNNER%"
516
+ echo exit>> "%_UPD_RUNNER%"
517
+ echo )>> "%_UPD_RUNNER%"
512
518
 
513
519
  if not exist "%_UPD_RUNNER%" (
514
520
  echo [ERROR] Failed to create updater script at %_UPD_RUNNER%
@@ -15,6 +15,17 @@ except ImportError:
15
15
  requests = None
16
16
  print("Warning: requests module not available. Some functionality may be limited.")
17
17
 
18
+ # Safe tqdm import with fallback
19
+ try:
20
+ from tqdm import tqdm as _real_tqdm
21
+ def tqdm(iterable, **kwargs):
22
+ return _real_tqdm(iterable, **kwargs)
23
+ TQDM_AVAILABLE = True
24
+ except Exception:
25
+ TQDM_AVAILABLE = False
26
+ def tqdm(iterable, **kwargs):
27
+ return iterable
28
+
18
29
  # Initialize console output
19
30
  print("="*60)
20
31
  print("MediCafe Update Started")
@@ -205,9 +216,9 @@ def clear_python_cache(workspace_path=None):
205
216
  ]
206
217
 
207
218
  cleared_count = 0
219
+ # First, remove __pycache__ directories (these are few, so prints are acceptable)
208
220
  for cache_dir in cache_dirs:
209
221
  if os.path.exists(cache_dir):
210
- # Remove __pycache__ directories
211
222
  pycache_path = os.path.join(cache_dir, '__pycache__')
212
223
  if os.path.exists(pycache_path):
213
224
  try:
@@ -216,17 +227,50 @@ def clear_python_cache(workspace_path=None):
216
227
  cleared_count += 1
217
228
  except Exception as e:
218
229
  print("Warning: Could not clear cache at {}: {}".format(pycache_path, e))
219
-
220
- # Remove .pyc files
230
+
231
+ # Next, collect all .pyc files to provide a clean progress indicator
232
+ pyc_files = []
233
+ for cache_dir in cache_dirs:
234
+ if os.path.exists(cache_dir):
221
235
  for root, dirs, files in os.walk(cache_dir):
222
236
  for file in files:
223
237
  if file.endswith('.pyc'):
224
- try:
225
- os.remove(os.path.join(root, file))
226
- print("Removed .pyc file: {}".format(os.path.join(root, file)))
227
- cleared_count += 1
228
- except Exception as e:
229
- print("Warning: Could not remove .pyc file {}: {}".format(file, e))
238
+ pyc_files.append(os.path.join(root, file))
239
+
240
+ # Remove .pyc files with a progress bar (tqdm if available, otherwise a single-line counter)
241
+ if pyc_files:
242
+ total_files = len(pyc_files)
243
+ removed_files = 0
244
+
245
+ if TQDM_AVAILABLE:
246
+ for file_path in tqdm(pyc_files, desc="Removing .pyc files", unit="file"):
247
+ try:
248
+ os.remove(file_path)
249
+ cleared_count += 1
250
+ removed_files += 1
251
+ except Exception as e:
252
+ print("Warning: Could not remove .pyc file {}: {}".format(os.path.basename(file_path), e))
253
+ else:
254
+ # Minimal, XP-safe single-line progress indicator
255
+ for file_path in pyc_files:
256
+ try:
257
+ os.remove(file_path)
258
+ cleared_count += 1
259
+ removed_files += 1
260
+ except Exception as e:
261
+ print("Warning: Could not remove .pyc file {}: {}".format(os.path.basename(file_path), e))
262
+ # Update progress on one line
263
+ try:
264
+ sys.stdout.write("\rRemoving .pyc files: {}/{}".format(removed_files, total_files))
265
+ sys.stdout.flush()
266
+ except Exception:
267
+ pass
268
+ # Finish the line after completion
269
+ try:
270
+ sys.stdout.write("\n")
271
+ sys.stdout.flush()
272
+ except Exception:
273
+ pass
230
274
 
231
275
  if cleared_count > 0:
232
276
  print_status("Successfully cleared {} cache items".format(cleared_count), "SUCCESS")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: medicafe
3
- Version: 0.250811.4
3
+ Version: 0.250812.0
4
4
  Summary: MediCafe
5
5
  Home-page: https://github.com/katanada2/MediCafe
6
6
  Author: Daniel Vidaud
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: medicafe
3
- Version: 0.250811.4
3
+ Version: 0.250812.0
4
4
  Summary: MediCafe
5
5
  Home-page: https://github.com/katanada2/MediCafe
6
6
  Author: Daniel Vidaud
@@ -54,7 +54,7 @@ if long_description_text is None:
54
54
 
55
55
  setup(
56
56
  name='medicafe',
57
- version="0.250811.4",
57
+ version="0.250812.0",
58
58
  description='MediCafe',
59
59
  long_description=long_description_text,
60
60
  long_description_content_type='text/markdown',
File without changes
File without changes
File without changes