From ec575e30efe9dab83fe9ef51809375e293c1832b Mon Sep 17 00:00:00 2001 From: Raika Furude Date: Sat, 18 Oct 2025 17:47:16 -0400 Subject: [PATCH] updated to include adding simulated bands with mock naming --- vitallink/logs/all_pids.txt | 8 +++--- vitallink/logs/backend.log | Bin 17955 -> 64162 bytes vitallink/logs/backend.pid | 2 +- vitallink/logs/dashboard.log | 6 +++-- vitallink/logs/dashboard.pid | 2 +- vitallink/logs/kiosk.log | 4 ++- vitallink/logs/kiosk.pid | 2 +- vitallink/logs/wristbands.log | 25 ------------------ vitallink/logs/wristbands.pid | 2 +- .../wristband_manager.cpython-39.pyc | Bin 14632 -> 14622 bytes .../wristband_simulator.cpython-39.pyc | Bin 0 -> 13535 bytes vitallink/simulator/wristband_manager.py | 4 +++ 12 files changed, 19 insertions(+), 36 deletions(-) create mode 100644 vitallink/simulator/__pycache__/wristband_simulator.cpython-39.pyc diff --git a/vitallink/logs/all_pids.txt b/vitallink/logs/all_pids.txt index 3998c16..514aaf9 100644 --- a/vitallink/logs/all_pids.txt +++ b/vitallink/logs/all_pids.txt @@ -1,4 +1,4 @@ -103455 -103468 -103478 -103512 +106155 +106168 +106176 +106211 diff --git a/vitallink/logs/backend.log b/vitallink/logs/backend.log index 1379a619fac5e6785c23638dc4bc37eef8cce83c..599ca392e87fa382830ac62108d788b40b798a6d 100644 GIT binary patch literal 64162 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 literal 17955 zcmeHPT~FIE6n*cnxat#VBTmwmLZ&_NwXGVX)!M=dDC|9wunerO;h zuLT6X?Nj4xU*F^7>*FMD=j1~-g7VWhG&h2S7Wr7@kmZUAt>Js%H=3>1k6LGDc}As? z=_UMBInXSNC8I{F6m;1_k$DTIdv}Y0sU(Yq5sP-;#*(Q#g}g}9vT57e$e1i5#P_Oi zwB!3eZ1nQ7PX~jq$8Qe6D7Y@9*{r=^@uzkw4ULawdIkHGU5S*#UavDnX!Y*O#t#)M z5|Nq;%4iyWtQd_)N}DQv!WGlCGcoKd+baV{DbJKlO$0aELiLaFjb43E=OhTib~Q3V z)M)JP?!Xq*KOPN$z^B2WM*=UXLuf~=`+0#4^E%D#rY)S-p_wGtg($?cRJOD=`hPty zRe7nH(eqO>4ADlkt7Y=hau_lU8HNmtR;&zO#H?zyo9#+Lb$f$O_oNS`R77kf*p*E0 zDibnNi69A;r5>zAqb8b-l!^(XnKmjFWLzrP*eckq{r>z18BXLZnTUKZyN$wNJA&RV zr>T+bP-MBVYF_ZZOqmG%2nHho7hE!P0f{gp#X)M|GrMs28Ow!oKbDgi;UawHh$I3Z6@jw)HB<>mEGr*bHVFx zXBTYQ-y*M!eq;0Z=DkXGHg>&k-^$+y2kt)gypDW-H8DS*fPWEr?bVF)I--r-Mm>sp zbS?EL=Iy2LNUr0GfidHXfhz{C7}X~D`Q#&dc1%NoGK7&6QeFl3k`V8}2>z>r~%fISt%TH9?u zT-{6X4&A=%*`e}MPY2O+`DhW*cASz9ISd(w413)3N60W_7&2^j9CSq|VsKXBtioA^ ov&tR=36^_@1~Um}63ir+NidUC|Hx1#1KdA9c*6l#j0aYXKmAE!sQ>@~ diff --git a/vitallink/logs/backend.pid b/vitallink/logs/backend.pid index 5335bd5..daca52c 100644 --- a/vitallink/logs/backend.pid +++ b/vitallink/logs/backend.pid @@ -1 +1 @@ -103455 +106155 diff --git a/vitallink/logs/dashboard.log b/vitallink/logs/dashboard.log index 2b24da7..894996b 100644 --- a/vitallink/logs/dashboard.log +++ b/vitallink/logs/dashboard.log @@ -2,8 +2,10 @@ > dashboard@0.0.0 dev > vite +Port 5173 is in use, trying another one... +Port 5174 is in use, trying another one... - VITE v7.1.10 ready in 100 ms + VITE v7.1.10 ready in 103 ms - ➜ Local: http://localhost:5173/ + ➜ Local: http://localhost:5175/ ➜ Network: use --host to expose diff --git a/vitallink/logs/dashboard.pid b/vitallink/logs/dashboard.pid index 5185dbd..b823426 100644 --- a/vitallink/logs/dashboard.pid +++ b/vitallink/logs/dashboard.pid @@ -1 +1 @@ -103478 +106176 diff --git a/vitallink/logs/kiosk.log b/vitallink/logs/kiosk.log index 89aaf3a..2085fbe 100644 --- a/vitallink/logs/kiosk.log +++ b/vitallink/logs/kiosk.log @@ -3,8 +3,10 @@ > vite Port 5173 is in use, trying another one... +Port 5174 is in use, trying another one... +Port 5175 is in use, trying another one... VITE v7.1.10 ready in 103 ms - ➜ Local: http://localhost:5174/ + ➜ Local: http://localhost:5176/ ➜ Network: use --host to expose diff --git a/vitallink/logs/kiosk.pid b/vitallink/logs/kiosk.pid index 09ae417..72b47a8 100644 --- a/vitallink/logs/kiosk.pid +++ b/vitallink/logs/kiosk.pid @@ -1 +1 @@ -103512 +106211 diff --git a/vitallink/logs/wristbands.log b/vitallink/logs/wristbands.log index 1aff406..e69de29 100644 --- a/vitallink/logs/wristbands.log +++ b/vitallink/logs/wristbands.log @@ -1,25 +0,0 @@ -⚠️ Bleak not installed. Real wristbands disabled. Install with: pip install bleak -Creating default config at wristband_config.yaml -✓ Loaded configuration from wristband_config.yaml - -================================================================================ -VitalLink System Initialization -================================================================================ - -✓ Backend is running at http://localhost:8000 -Traceback (most recent call last): - File "/home/mai/documents/school/capstone/vitallink-BS/vitallink/simulator/main_runner.py", line 282, in - asyncio.run(system.run()) - File "/home/mai/.local/share/uv/python/cpython-3.9.20-linux-x86_64-gnu/lib/python3.9/asyncio/runners.py", line 44, in run - return loop.run_until_complete(main) - File "/home/mai/.local/share/uv/python/cpython-3.9.20-linux-x86_64-gnu/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete - return future.result() - File "/home/mai/documents/school/capstone/vitallink-BS/vitallink/simulator/main_runner.py", line 153, in run - await self.initialize() - File "/home/mai/documents/school/capstone/vitallink-BS/vitallink/simulator/main_runner.py", line 52, in initialize - self.manager.add_simulated_band( - File "/home/mai/documents/school/capstone/vitallink-BS/vitallink/simulator/wristband_manager.py", line 324, in add_simulated_band - band = SimulatedWristband(band_id, profile) - File "/home/mai/documents/school/capstone/vitallink-BS/vitallink/simulator/wristband_manager.py", line 243, in __init__ - from simulator.wristband_simulator import PATIENT_PROFILES, WristbandSimulator -ModuleNotFoundError: No module named 'simulator' diff --git a/vitallink/logs/wristbands.pid b/vitallink/logs/wristbands.pid index a9f66c2..06dc9c8 100644 --- a/vitallink/logs/wristbands.pid +++ b/vitallink/logs/wristbands.pid @@ -1 +1 @@ -103468 +106168 diff --git a/vitallink/simulator/__pycache__/wristband_manager.cpython-39.pyc b/vitallink/simulator/__pycache__/wristband_manager.cpython-39.pyc index 4fc8e6f720688ce86acd495cb86366ed3ae6807d..0d0b43a73f52bbd6e28d98386d18fd7bfab2866a 100644 GIT binary patch delta 29 jcmZ2cG_Qy^k(ZZ?0SLS}zGU3o$eSj~D7?8&a+N#)e_#lx delta 39 tcmbPNw4#VNk(ZZ?0SKlsf5~{fkvC0}Tedhew=^fQB)>>+bBW|Cc>wkU4G{nU diff --git a/vitallink/simulator/__pycache__/wristband_simulator.cpython-39.pyc b/vitallink/simulator/__pycache__/wristband_simulator.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..edd4acbb3d2cfda2243f3cce8e5f3b03e9406144 GIT binary patch literal 13535 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 literal 0 HcmV?d00001 diff --git a/vitallink/simulator/wristband_manager.py b/vitallink/simulator/wristband_manager.py index b969f1d..d9d120c 100644 --- a/vitallink/simulator/wristband_manager.py +++ b/vitallink/simulator/wristband_manager.py @@ -321,6 +321,10 @@ class WristbandManager: def add_simulated_band(self, band_id: str, profile: str = "stable"): """Add a simulated wristband to inventory""" + # Change naming to use MOCK prefix if not already present + if not band_id.startswith("MOCK-"): + band_id = f"MOCK-{band_id.replace('VitalLink-', '')}" + band = SimulatedWristband(band_id, profile) self.inventory[band_id] = band print(f"➕ Added simulated band {band_id} ({profile})")