rmm commited on
Commit
722ec65
·
1 Parent(s): d546098

fix: input validation for decimal_coords

Browse files
Files changed (1) hide show
  1. src/input_handling.py +5 -0
src/input_handling.py CHANGED
@@ -209,6 +209,11 @@ def decimal_coords(coords:tuple, ref:str) -> Fraction:
209
  decimal_coords((40, 26, 46), 'W') -> -40.44611111111111
210
  """
211
  # https://stackoverflow.com/a/73267185
 
 
 
 
 
212
  decimal_degrees = coords[0] + coords[1] / 60 + coords[2] / 3600
213
  if ref == "S" or ref =='W':
214
  decimal_degrees = -decimal_degrees
 
209
  decimal_coords((40, 26, 46), 'W') -> -40.44611111111111
210
  """
211
  # https://stackoverflow.com/a/73267185
212
+ if ref not in ['N', 'S', 'E', 'W']:
213
+ raise ValueError("Invalid reference direction. Must be 'N', 'S', 'E', or 'W'.")
214
+ if len(coords) != 3:
215
+ raise ValueError("Coordinates must be a tuple of three elements (degrees, minutes, seconds).")
216
+
217
  decimal_degrees = coords[0] + coords[1] / 60 + coords[2] / 3600
218
  if ref == "S" or ref =='W':
219
  decimal_degrees = -decimal_degrees