mapillary-tools 0.13.0__tar.gz → 0.13.1a1__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 (84) hide show
  1. {mapillary_tools-0.13.0/mapillary_tools.egg-info → mapillary_tools-0.13.1a1}/PKG-INFO +1 -1
  2. mapillary_tools-0.13.1a1/mapillary_tools/__init__.py +1 -0
  3. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/gpmf_parser.py +28 -5
  4. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1/mapillary_tools.egg-info}/PKG-INFO +1 -1
  5. mapillary_tools-0.13.0/mapillary_tools/__init__.py +0 -1
  6. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/LICENSE +0 -0
  7. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/MANIFEST.in +0 -0
  8. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/README.md +0 -0
  9. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/api_v4.py +0 -0
  10. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/authenticate.py +0 -0
  11. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/camm/camm_builder.py +0 -0
  12. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/camm/camm_parser.py +0 -0
  13. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/commands/__init__.py +0 -0
  14. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/commands/__main__.py +0 -0
  15. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/commands/authenticate.py +0 -0
  16. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/commands/process.py +0 -0
  17. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/commands/process_and_upload.py +0 -0
  18. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/commands/sample_video.py +0 -0
  19. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/commands/upload.py +0 -0
  20. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/commands/video_process.py +0 -0
  21. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/commands/video_process_and_upload.py +0 -0
  22. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/commands/zip.py +0 -0
  23. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/config.py +0 -0
  24. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/constants.py +0 -0
  25. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/exceptions.py +0 -0
  26. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/exif_read.py +0 -0
  27. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/exif_write.py +0 -0
  28. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/exiftool_read.py +0 -0
  29. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/exiftool_read_video.py +0 -0
  30. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/ffmpeg.py +0 -0
  31. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geo.py +0 -0
  32. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/__init__.py +0 -0
  33. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/blackvue_parser.py +0 -0
  34. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/geotag_from_generic.py +0 -0
  35. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/geotag_images_from_exif.py +0 -0
  36. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/geotag_images_from_exiftool.py +0 -0
  37. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/geotag_images_from_exiftool_both_image_and_video.py +0 -0
  38. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/geotag_images_from_gpx.py +0 -0
  39. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/geotag_images_from_gpx_file.py +0 -0
  40. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/geotag_images_from_nmea_file.py +0 -0
  41. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/geotag_images_from_video.py +0 -0
  42. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/geotag_videos_from_exiftool_video.py +0 -0
  43. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/geotag_videos_from_video.py +0 -0
  44. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/gpmf_gps_filter.py +0 -0
  45. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/gps_filter.py +0 -0
  46. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/geotag/utils.py +0 -0
  47. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/history.py +0 -0
  48. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/ipc.py +0 -0
  49. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/mp4/__init__.py +0 -0
  50. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/mp4/construct_mp4_parser.py +0 -0
  51. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/mp4/io_utils.py +0 -0
  52. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/mp4/mp4_sample_parser.py +0 -0
  53. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/mp4/simple_mp4_builder.py +0 -0
  54. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/mp4/simple_mp4_parser.py +0 -0
  55. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/process_geotag_properties.py +0 -0
  56. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/process_sequence_properties.py +0 -0
  57. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/sample_video.py +0 -0
  58. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/telemetry.py +0 -0
  59. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/types.py +0 -0
  60. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/upload.py +0 -0
  61. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/upload_api_v4.py +0 -0
  62. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/uploader.py +0 -0
  63. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/utils.py +0 -0
  64. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/video_data_extraction/cli_options.py +0 -0
  65. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/video_data_extraction/extract_video_data.py +0 -0
  66. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/video_data_extraction/extractors/base_parser.py +0 -0
  67. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/video_data_extraction/extractors/blackvue_parser.py +0 -0
  68. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/video_data_extraction/extractors/camm_parser.py +0 -0
  69. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/video_data_extraction/extractors/exiftool_runtime_parser.py +0 -0
  70. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/video_data_extraction/extractors/exiftool_xml_parser.py +0 -0
  71. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/video_data_extraction/extractors/generic_video_parser.py +0 -0
  72. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/video_data_extraction/extractors/gopro_parser.py +0 -0
  73. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/video_data_extraction/extractors/gpx_parser.py +0 -0
  74. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/video_data_extraction/extractors/nmea_parser.py +0 -0
  75. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools/video_data_extraction/video_data_parser_factory.py +0 -0
  76. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools.egg-info/SOURCES.txt +0 -0
  77. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools.egg-info/dependency_links.txt +0 -0
  78. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools.egg-info/entry_points.txt +0 -0
  79. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools.egg-info/requires.txt +0 -0
  80. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/mapillary_tools.egg-info/top_level.txt +0 -0
  81. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/requirements.txt +0 -0
  82. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/schema/image_description_schema.json +0 -0
  83. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/setup.cfg +0 -0
  84. {mapillary_tools-0.13.0 → mapillary_tools-0.13.1a1}/setup.py +0 -0
@@ -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
@@ -0,0 +1 @@
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 +0,0 @@
1
- VERSION = "0.13.0"