FileReader #5

Merged
bacant150 merged 15 commits from lab1_huranets into lab1 2026-02-26 10:04:10 +02:00
Showing only changes of commit ca790e7306 - Show all commits

View File

@@ -14,8 +14,6 @@ import config
class FileDatasource: class FileDatasource:
INT16_MIN = -32768
INT16_MAX = 32767
def __init__(self, accelerometer_filename: str, gps_filename: str) -> None: def __init__(self, accelerometer_filename: str, gps_filename: str) -> None:
self.accelerometer_filename = accelerometer_filename self.accelerometer_filename = accelerometer_filename
@@ -203,16 +201,21 @@ class FileDatasource:
return True, None return True, None
hasslesstech commented 2026-02-24 15:25:56 +02:00 (Migrated from github.com)
Review

This value range check might break future integration with higher precision accelerometer data, hence should be removed

This value range check might break future integration with higher precision accelerometer data, hence should be removed
@staticmethod @staticmethod
def _parse_int16(s: str) -> int: def _parse_int(s: str) -> int:
return int(s) return int(s)
@staticmethod @staticmethod
def _parse_acc(row: List[str]) -> Accelerometer: def _parse_acc(row: List[str]) -> Accelerometer:
if len(row) < 3: if len(row) < 3:
raise ValueError(f"Accelerometer row must have 3 values (x,y,z). Got: {row}") raise ValueError(f"Accelerometer row must have 3 values (x,y,z). Got: {row}")
x = FileDatasource._parse_int16(row[0])
y = FileDatasource._parse_int16(row[1]) try:
z = FileDatasource._parse_int16(row[2]) x = int(row[0])
y = int(row[1])
z = int(row[2])
except ValueError as e:
raise ValueError(f"Invalid accelerometer values (expected integers): {row}") from e
return Accelerometer(x=x, y=y, z=z) return Accelerometer(x=x, y=y, z=z)
@staticmethod @staticmethod