mapillary-tools 0.13.0__py3-none-any.whl → 0.13.1a1__py3-none-any.whl

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.
@@ -1 +1 @@
1
- VERSION = "0.13.0"
1
+ VERSION = "0.13.1a1"
@@ -252,9 +252,24 @@ def _gps9_timestamp_to_epoch_time(
252
252
  return epoch_time
253
253
 
254
254
 
255
+ def _get_gps_type(input) -> bytes:
256
+ final = b""
257
+ for val in input or []:
258
+ if isinstance(val, bytes):
259
+ final += val
260
+ elif isinstance(val, list):
261
+ final += _get_gps_type(val)
262
+ else:
263
+ raise ValueError(f"Unexpected type {type(val)} in {input}")
264
+
265
+ return final
266
+
267
+
255
268
  def gps9_from_stream(
256
269
  stream: T.Sequence[KLVDict],
257
270
  ) -> T.Generator[GPSPoint, None, None]:
271
+ NUM_VALUES = 9
272
+
258
273
  indexed: T.Dict[bytes, T.List[T.List[T.Any]]] = {
259
274
  klv["key"]: klv["data"] for klv in stream
260
275
  }
@@ -270,17 +285,25 @@ def gps9_from_stream(
270
285
  if any(s == 0 for s in scal_values):
271
286
  return
272
287
 
273
- type = indexed.get(b"TYPE")
274
- if type is None:
288
+ gps_value_types = _get_gps_type(indexed.get(b"TYPE"))
289
+ if not gps_value_types:
275
290
  return
276
- gps_value_types = type[0]
291
+
292
+ if len(gps_value_types) != NUM_VALUES:
293
+ raise ValueError(
294
+ f"Error parsing the complex type {gps_value_types!r}: expect {NUM_VALUES} types but got {len(gps_value_types)}"
295
+ )
277
296
 
278
297
  try:
279
298
  sample_parser = C.Sequence(
280
- *[_type_mapping[t.to_bytes()][0] for t in gps_value_types]
299
+ *[
300
+ # Changed in version 3.11: Added default argument values for length and byteorder
301
+ _type_mapping[t.to_bytes(length=1, byteorder="big")][0]
302
+ for t in gps_value_types
303
+ ]
281
304
  )
282
305
  except Exception as ex:
283
- raise ValueError(f"Error parsing the complex type {gps_value_types}: {ex}")
306
+ raise ValueError(f"Error parsing the complex type {gps_value_types!r}: {ex}")
284
307
 
285
308
  for sample_data_bytes in gps9:
286
309
  sample_data = sample_parser.parse(sample_data_bytes)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mapillary_tools
3
- Version: 0.13.0
3
+ Version: 0.13.1a1
4
4
  Summary: Mapillary Image/Video Import Pipeline
5
5
  Home-page: https://github.com/mapillary/mapillary_tools
6
6
  Author: Mapillary
@@ -1,4 +1,4 @@
1
- mapillary_tools/__init__.py,sha256=hZfMXyZ8nUrpqLa-dZCy9tXhu5fH1SZJKEGUd0caUDw,19
1
+ mapillary_tools/__init__.py,sha256=Qvs9oGT6nkWrVfCfFMNlCwq4PM3sc2U_WryNkThbhUU,21
2
2
  mapillary_tools/api_v4.py,sha256=zhRtgx3EnzgqtjziRhvFq3ONvsPaB9hROsuKFcf_pFo,5197
3
3
  mapillary_tools/authenticate.py,sha256=LCFcs6LqZmXaYkTUEKgGfmqytWdh5v_L3KXB48ojOZ4,3090
4
4
  mapillary_tools/config.py,sha256=jCjaK4jJaTY4AV4qf_b_tcxn5LA_uPsEWlGIdm2zw6g,2103
@@ -46,7 +46,7 @@ mapillary_tools/geotag/geotag_images_from_video.py,sha256=XsaWOFChGItl-j1UbKM4hN
46
46
  mapillary_tools/geotag/geotag_videos_from_exiftool_video.py,sha256=fkkWou1WFt3ft024399vis9No2cxrwot7Pg5HBw7o7s,5225
47
47
  mapillary_tools/geotag/geotag_videos_from_video.py,sha256=mqBZKUEkqT96nOzl5LJxzzTKuKsnAkMK5lH8k3oY3YE,7330
48
48
  mapillary_tools/geotag/gpmf_gps_filter.py,sha256=7cg8wEjC1DrujKY76FZguXsaPqTRkG9-t32OeuOJQIc,2755
49
- mapillary_tools/geotag/gpmf_parser.py,sha256=yAXzFAlj4VsbFju-kNDBxhT1K6kfmZL37lrM26Xkg0M,22514
49
+ mapillary_tools/geotag/gpmf_parser.py,sha256=6Q38oeSd2kHTs44Fzpg9R555EbQqdd5QcIuIZdG4z_o,23233
50
50
  mapillary_tools/geotag/gps_filter.py,sha256=4CPL8glxdzPWIbfGPPgyqMLyiZFt-djce5vhiFPuZB8,3766
51
51
  mapillary_tools/geotag/utils.py,sha256=Orl35Df4ypxj4v6Lu1Mhk9d2XZxa8yNffz1s1C0JZsQ,651
52
52
  mapillary_tools/mp4/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -67,9 +67,9 @@ mapillary_tools/video_data_extraction/extractors/generic_video_parser.py,sha256=
67
67
  mapillary_tools/video_data_extraction/extractors/gopro_parser.py,sha256=IVnTyquSraTUaG9rxbJfVWc1-drdY5PaHn5urh3IBk4,1325
68
68
  mapillary_tools/video_data_extraction/extractors/gpx_parser.py,sha256=FRysFhN2aa0MGnzLO7pcZkwo8790GUelIZg9pddZvic,2594
69
69
  mapillary_tools/video_data_extraction/extractors/nmea_parser.py,sha256=raSXavBvP-0LJCB_TwLL0mOv2uHSsB744igTsaKAaGc,658
70
- mapillary_tools-0.13.0.dist-info/LICENSE,sha256=l2D8cKfFmmJq_wcVq_JElPJrlvWQOzNWx7gMLINucxc,1292
71
- mapillary_tools-0.13.0.dist-info/METADATA,sha256=IjaJljFtCVqGSVhabQ2MptJlan76aUoGLulB1ecs9-E,19758
72
- mapillary_tools-0.13.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
73
- mapillary_tools-0.13.0.dist-info/entry_points.txt,sha256=A3f3LP-BO_P-U8Y29QfpT4jx6Mjk3sXjTi2Yew4bvj8,75
74
- mapillary_tools-0.13.0.dist-info/top_level.txt,sha256=FbDkMgOrt1S70ho1WSBrOwzKOSkJFDwwqFOoY5-527s,16
75
- mapillary_tools-0.13.0.dist-info/RECORD,,
70
+ mapillary_tools-0.13.1a1.dist-info/LICENSE,sha256=l2D8cKfFmmJq_wcVq_JElPJrlvWQOzNWx7gMLINucxc,1292
71
+ mapillary_tools-0.13.1a1.dist-info/METADATA,sha256=wc2o92Vqxo1fZ_sjWlV5lvJZByclruFL2h20jK0LxKI,19760
72
+ mapillary_tools-0.13.1a1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
73
+ mapillary_tools-0.13.1a1.dist-info/entry_points.txt,sha256=A3f3LP-BO_P-U8Y29QfpT4jx6Mjk3sXjTi2Yew4bvj8,75
74
+ mapillary_tools-0.13.1a1.dist-info/top_level.txt,sha256=FbDkMgOrt1S70ho1WSBrOwzKOSkJFDwwqFOoY5-527s,16
75
+ mapillary_tools-0.13.1a1.dist-info/RECORD,,