From ad0f19fd00c151527a84690d397bca4654a46fc0 Mon Sep 17 00:00:00 2001 From: Tao Peng Date: Sat, 15 Oct 2022 11:13:55 -0700 Subject: [PATCH] concat device name chars --- mapillary_tools/geotag/gpmf_parser.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mapillary_tools/geotag/gpmf_parser.py b/mapillary_tools/geotag/gpmf_parser.py index a2b2f99c..f94e5441 100644 --- a/mapillary_tools/geotag/gpmf_parser.py +++ b/mapillary_tools/geotag/gpmf_parser.py @@ -283,7 +283,9 @@ def _extract_dvnm_from_samples( device_id = _find_first_device_id(device["data"]) for klv in device["data"]: if klv["key"] == b"DVNM" and klv["data"]: - dvnm_by_dvid[device_id] = klv["data"][0] + # klv["data"] could be [b"H", b"e", b"r", b"o", b"8", b" ", b"B", b"l", b"a", b"c", b"k"] + # or [b"Hero8 Black"] + dvnm_by_dvid[device_id] = b"".join(klv["data"]) return dvnm_by_dvid @@ -375,6 +377,11 @@ def extract_camera_model(fp: T.BinaryIO) -> str: if "hero" in unicode_name.lower(): return unicode_name.strip() + # device containing "gopro" higher priority + for unicode_name in unicode_names: + if "gopro" in unicode_name.lower(): + return unicode_name.strip() + return unicode_names[0].strip()