geopic-tag-reader 1.5.0__py3-none-any.whl → 1.6.0__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.
Files changed (26) hide show
  1. geopic_tag_reader/__init__.py +1 -1
  2. geopic_tag_reader/camera.py +6 -5
  3. geopic_tag_reader/cameras.csv +2 -2
  4. geopic_tag_reader/reader.py +30 -12
  5. geopic_tag_reader/translations/da/LC_MESSAGES/geopic_tag_reader.mo +0 -0
  6. geopic_tag_reader/translations/da/LC_MESSAGES/geopic_tag_reader.po +1 -1
  7. geopic_tag_reader/translations/de/LC_MESSAGES/geopic_tag_reader.mo +0 -0
  8. geopic_tag_reader/translations/de/LC_MESSAGES/geopic_tag_reader.po +3 -2
  9. geopic_tag_reader/translations/en/LC_MESSAGES/geopic_tag_reader.mo +0 -0
  10. geopic_tag_reader/translations/en/LC_MESSAGES/geopic_tag_reader.po +22 -22
  11. geopic_tag_reader/translations/eo/LC_MESSAGES/geopic_tag_reader.mo +0 -0
  12. geopic_tag_reader/translations/eo/LC_MESSAGES/geopic_tag_reader.po +1 -1
  13. geopic_tag_reader/translations/fr/LC_MESSAGES/geopic_tag_reader.mo +0 -0
  14. geopic_tag_reader/translations/fr/LC_MESSAGES/geopic_tag_reader.po +3 -2
  15. geopic_tag_reader/translations/geopic_tag_reader.pot +21 -21
  16. geopic_tag_reader/translations/it/LC_MESSAGES/geopic_tag_reader.mo +0 -0
  17. geopic_tag_reader/translations/it/LC_MESSAGES/geopic_tag_reader.po +3 -3
  18. geopic_tag_reader/translations/nl/LC_MESSAGES/geopic_tag_reader.mo +0 -0
  19. geopic_tag_reader/translations/nl/LC_MESSAGES/geopic_tag_reader.po +3 -2
  20. geopic_tag_reader/translations/sv/LC_MESSAGES/geopic_tag_reader.mo +0 -0
  21. geopic_tag_reader/translations/sv/LC_MESSAGES/geopic_tag_reader.po +3 -2
  22. {geopic_tag_reader-1.5.0.dist-info → geopic_tag_reader-1.6.0.dist-info}/METADATA +1 -1
  23. {geopic_tag_reader-1.5.0.dist-info → geopic_tag_reader-1.6.0.dist-info}/RECORD +26 -26
  24. {geopic_tag_reader-1.5.0.dist-info → geopic_tag_reader-1.6.0.dist-info}/WHEEL +0 -0
  25. {geopic_tag_reader-1.5.0.dist-info → geopic_tag_reader-1.6.0.dist-info}/entry_points.txt +0 -0
  26. {geopic_tag_reader-1.5.0.dist-info → geopic_tag_reader-1.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -2,4 +2,4 @@
2
2
  GeoPicTagReader
3
3
  """
4
4
 
5
- __version__ = "1.5.0"
5
+ __version__ = "1.6.0"
@@ -19,6 +19,7 @@ GPS_ACCURACY_MAKE = {
19
19
  "blackvue": 4,
20
20
  "tectectec": 4,
21
21
  "arashi vision": 4,
22
+ "qoocam": 4,
22
23
  # Smartphone GPS
23
24
  "samsung": 5,
24
25
  "xiaomi": 5,
@@ -118,7 +119,7 @@ def find_camera(make: Optional[str] = None, model: Optional[str] = None) -> Opti
118
119
  return next((cameras[matchMake][matchModel] for matchModel in cameras[matchMake].keys() if model.lower().startswith(matchModel)), None)
119
120
 
120
121
 
121
- def is_360(make: Optional[str] = None, model: Optional[str] = None, width: Optional[str] = None, height: Optional[str] = None) -> bool:
122
+ def is_360(make: Optional[str] = None, model: Optional[str] = None, width: Optional[int] = None, height: Optional[int] = None) -> bool:
122
123
  """
123
124
  Checks if given camera is equirectangular (360°) based on its make, model and dimensions (width, height).
124
125
 
@@ -128,11 +129,11 @@ def is_360(make: Optional[str] = None, model: Optional[str] = None, width: Optio
128
129
  False
129
130
  >>> is_360("GoPro", "Max 360")
130
131
  True
131
- >>> is_360("GoPro", "Max 360", "2048", "1024")
132
+ >>> is_360("GoPro", "Max 360", 2048, 1024)
132
133
  True
133
- >>> is_360("GoPro", "Max 360", "1024", "768")
134
+ >>> is_360("GoPro", "Max 360", 1024, 768)
134
135
  False
135
- >>> is_360("RICOH", "THETA S", "5376", "2688")
136
+ >>> is_360("RICOH", "THETA S", 5376, 2688)
136
137
  True
137
138
  """
138
139
 
@@ -142,7 +143,7 @@ def is_360(make: Optional[str] = None, model: Optional[str] = None, width: Optio
142
143
  return False
143
144
 
144
145
  # Check width and height are equirectangular
145
- if not ((width is None or height is None) or int(width) == 2 * int(height)):
146
+ if not ((width is None or height is None) or width == 2 * height):
146
147
  return False
147
148
 
148
149
  return camera.is_360
@@ -1311,8 +1311,8 @@
1311
1311
  "Jenoptik";"JD C 5.0 SL";"7.11";;
1312
1312
  "JVC";"GC-QX3HD";"7.11";;
1313
1313
  "JVC";"GC-QX5HD";"7.11";;
1314
- "Kandao";"Qoocam 3";;"1";
1315
- "Kandao";"Qoocam 3 Ultra";;"1";
1314
+ "Kandao";"Qoocam 3";;"1";"4"
1315
+ "Kandao";"Qoocam 3 Ultra";;"1";"4"
1316
1316
  "Kodak";"DC200";"7.27";;
1317
1317
  "Kodak";"DC200 plus";"7.27";;
1318
1318
  "Kodak";"DC210 plus";"7.27";;
@@ -179,20 +179,17 @@ def readPictureMetadata(picture: bytes, lang_code: str = "en") -> GeoPicTags:
179
179
  GeoPicTags: Extracted metadata from picture
180
180
  """
181
181
 
182
- _ = i18n_init(lang_code)
183
- warnings = []
184
- img = pyexiv2.ImageData(picture)
185
182
  data = {}
186
- data.update(img.read_exif())
187
- data.update(img.read_iptc())
188
- data.update(img.read_xmp())
189
- width = img.get_pixel_width()
190
- height = img.get_pixel_height()
183
+ with pyexiv2.ImageData(picture) as img:
184
+ data.update(img.read_exif())
185
+ data.update(img.read_iptc())
186
+ data.update(img.read_xmp())
187
+ width = img.get_pixel_width()
188
+ height = img.get_pixel_height()
191
189
 
192
- imgComment = img.read_comment()
193
- if imgComment is not None and len(imgComment.strip()) > 0:
194
- data["Exif.Photo.UserComment"] = imgComment
195
- img.close()
190
+ imgComment = img.read_comment()
191
+ if imgComment is not None and len(imgComment.strip()) > 0:
192
+ data["Exif.Photo.UserComment"] = imgComment
196
193
 
197
194
  # Read Mapillary tags
198
195
  if "Exif.Image.ImageDescription" in data:
@@ -204,6 +201,27 @@ def readPictureMetadata(picture: bytes, lang_code: str = "en") -> GeoPicTags:
204
201
  except:
205
202
  pass
206
203
 
204
+ return getPictureMetadata(data, width, height, lang_code)
205
+
206
+
207
+ def getPictureMetadata(data: dict, width: int, height: int, lang_code: str = "en") -> GeoPicTags:
208
+ """Extracts metadata from already read metadata.
209
+
210
+ This method is useful when you already have the metadata read by `readPictureMetadata` and you want to extract the metadata from it.
211
+
212
+ Args:
213
+ data (dict): Raw EXIF tags / iptc / xmp / description from picture. MUST be comming from a previsou parse by the `readPictureMetadata` method.
214
+ width (int): Picture width
215
+ height (int): Picture height
216
+ lang_code (str): Language code for translating error labels
217
+
218
+ Returns:
219
+ GeoPicTags: Extracted metadata from picture
220
+ """
221
+
222
+ _ = i18n_init(lang_code)
223
+ warnings = []
224
+
207
225
  # Sanitize charset information
208
226
  for k, v in data.items():
209
227
  if isinstance(v, str):
@@ -8,7 +8,7 @@ msgstr ""
8
8
  "Project-Id-Version: PACKAGE VERSION\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
10
  "POT-Creation-Date: 2024-11-24 15:36+0100\n"
11
- "PO-Revision-Date: 2025-02-28 13:32+0000\n"
11
+ "PO-Revision-Date: 2025-04-16 08:21+0000\n"
12
12
  "Last-Translator: ERYpTION <eryption.ar9q2@slmail.me>\n"
13
13
  "Language-Team: Danish <http://weblate.panoramax.xyz/projects/panoramax/"
14
14
  "tag-reader/da/>\n"
@@ -8,8 +8,8 @@ msgstr ""
8
8
  "Project-Id-Version: PACKAGE VERSION\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
10
  "POT-Creation-Date: 2024-07-10 13:05+0200\n"
11
- "PO-Revision-Date: 2025-02-28 13:32+0000\n"
12
- "Last-Translator: mcliquid <weblate@mcliquid.de>\n"
11
+ "PO-Revision-Date: 2025-04-15 07:48+0000\n"
12
+ "Last-Translator: Anonymous <noreply@weblate.org>\n"
13
13
  "Language-Team: German <http://weblate.panoramax.xyz/projects/panoramax/"
14
14
  "tag-reader/de/>\n"
15
15
  "Language: de\n"
@@ -40,6 +40,7 @@ msgid "Type:"
40
40
  msgstr "Typ:"
41
41
 
42
42
  #: geopic_tag_reader/main.py:31
43
+ #, fuzzy
43
44
  msgid "Make:"
44
45
  msgstr "Hersteller:"
45
46
 
@@ -7,8 +7,8 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: PACKAGE VERSION\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2025-04-14 11:46+0200\n"
11
- "PO-Revision-Date: 2025-04-14 11:46+0200\n"
10
+ "POT-Creation-Date: 2025-05-09 12:12+0200\n"
11
+ "PO-Revision-Date: 2025-05-09 12:12+0200\n"
12
12
  "Last-Translator: Automatically generated\n"
13
13
  "Language-Team: none\n"
14
14
  "Language: en\n"
@@ -94,24 +94,24 @@ msgstr "Yaw:"
94
94
  msgid "Warnings raised by reader:"
95
95
  msgstr "Warnings raised by reader:"
96
96
 
97
- #: geopic_tag_reader/reader.py:228
97
+ #: geopic_tag_reader/reader.py:246
98
98
  msgid "Read latitude is out of WGS84 bounds (should be in [-90, 90])"
99
99
  msgstr "Read latitude is out of WGS84 bounds (should be in [-90, 90])"
100
100
 
101
- #: geopic_tag_reader/reader.py:230
101
+ #: geopic_tag_reader/reader.py:248
102
102
  msgid "Read longitude is out of WGS84 bounds (should be in [-180, 180])"
103
103
  msgstr "Read longitude is out of WGS84 bounds (should be in [-180, 180])"
104
104
 
105
- #: geopic_tag_reader/reader.py:258
105
+ #: geopic_tag_reader/reader.py:276
106
106
  #, python-brace-format
107
107
  msgid "Skipping Mapillary date/time as it was not recognized: {v}"
108
108
  msgstr "Skipping Mapillary date/time as it was not recognized: {v}"
109
109
 
110
- #: geopic_tag_reader/reader.py:288
110
+ #: geopic_tag_reader/reader.py:306
111
111
  msgid "No heading value was found, this reduces usability of picture"
112
112
  msgstr "No heading value was found, this reduces usability of picture"
113
113
 
114
- #: geopic_tag_reader/reader.py:331
114
+ #: geopic_tag_reader/reader.py:349
115
115
  msgid ""
116
116
  "No make and model value found, no assumption on focal length or GPS "
117
117
  "precision can be made"
@@ -119,17 +119,17 @@ msgstr ""
119
119
  "No make and model value found, no assumption on focal length or GPS "
120
120
  "precision can be made"
121
121
 
122
- #: geopic_tag_reader/reader.py:381
122
+ #: geopic_tag_reader/reader.py:399
123
123
  msgid ""
124
124
  "No focal length value was found, this prevents calculating field of view"
125
125
  msgstr ""
126
126
  "No focal length value was found, this prevents calculating field of view"
127
127
 
128
- #: geopic_tag_reader/reader.py:433
128
+ #: geopic_tag_reader/reader.py:451
129
129
  msgid "No GPS accuracy value found, this prevents computing a quality score"
130
130
  msgstr "No GPS accuracy value found, this prevents computing a quality score"
131
131
 
132
- #: geopic_tag_reader/reader.py:435
132
+ #: geopic_tag_reader/reader.py:453
133
133
  msgid ""
134
134
  "No GPS horizontal positioning error value found, GPS accuracy can only be "
135
135
  "estimated"
@@ -137,35 +137,35 @@ msgstr ""
137
137
  "No GPS horizontal positioning error value found, GPS accuracy can only be "
138
138
  "estimated"
139
139
 
140
- #: geopic_tag_reader/reader.py:442
140
+ #: geopic_tag_reader/reader.py:460
141
141
  msgid "No GPS coordinates or broken coordinates in picture EXIF tags"
142
142
  msgstr "No GPS coordinates or broken coordinates in picture EXIF tags"
143
143
 
144
- #: geopic_tag_reader/reader.py:448
144
+ #: geopic_tag_reader/reader.py:466
145
145
  msgid "No valid date in picture EXIF tags"
146
146
  msgstr "No valid date in picture EXIF tags"
147
147
 
148
- #: geopic_tag_reader/reader.py:453
148
+ #: geopic_tag_reader/reader.py:471
149
149
  msgid "The picture is missing mandatory metadata:"
150
150
  msgstr "The picture is missing mandatory metadata:"
151
151
 
152
- #: geopic_tag_reader/reader.py:567 geopic_tag_reader/reader.py:596
152
+ #: geopic_tag_reader/reader.py:585 geopic_tag_reader/reader.py:614
153
153
  msgid "GPSLatitudeRef not found, assuming GPSLatitudeRef is North"
154
154
  msgstr "GPSLatitudeRef not found, assuming GPSLatitudeRef is North"
155
155
 
156
- #: geopic_tag_reader/reader.py:575
156
+ #: geopic_tag_reader/reader.py:593
157
157
  msgid "Broken GPS coordinates in picture EXIF tags"
158
158
  msgstr "Broken GPS coordinates in picture EXIF tags"
159
159
 
160
- #: geopic_tag_reader/reader.py:578 geopic_tag_reader/reader.py:602
160
+ #: geopic_tag_reader/reader.py:596 geopic_tag_reader/reader.py:620
161
161
  msgid "GPSLongitudeRef not found, assuming GPSLongitudeRef is East"
162
162
  msgstr "GPSLongitudeRef not found, assuming GPSLongitudeRef is East"
163
163
 
164
- #: geopic_tag_reader/reader.py:663
164
+ #: geopic_tag_reader/reader.py:681
165
165
  msgid "Precise timezone information not found, fallback to UTC"
166
166
  msgstr "Precise timezone information not found, fallback to UTC"
167
167
 
168
- #: geopic_tag_reader/reader.py:668
168
+ #: geopic_tag_reader/reader.py:686
169
169
  msgid ""
170
170
  "Precise timezone information not found (and no GPS coordinates to help), "
171
171
  "fallback to UTC"
@@ -173,14 +173,14 @@ msgstr ""
173
173
  "Precise timezone information not found (and no GPS coordinates to help), "
174
174
  "fallback to UTC"
175
175
 
176
- #: geopic_tag_reader/reader.py:672
176
+ #: geopic_tag_reader/reader.py:690
177
177
  #, python-brace-format
178
178
  msgid ""
179
179
  "Skipping original date/time (from {datefield}) as it was not recognized: {v}"
180
180
  msgstr ""
181
181
  "Skipping original date/time (from {datefield}) as it was not recognized: {v}"
182
182
 
183
- #: geopic_tag_reader/reader.py:704
183
+ #: geopic_tag_reader/reader.py:722
184
184
  #, python-brace-format
185
185
  msgid ""
186
186
  "GPSTimeStamp and GPSDateTime don't contain supported time format (in {group} "
@@ -189,12 +189,12 @@ msgstr ""
189
189
  "GPSTimeStamp and GPSDateTime don't contain supported time format (in {group} "
190
190
  "group)"
191
191
 
192
- #: geopic_tag_reader/reader.py:735
192
+ #: geopic_tag_reader/reader.py:753
193
193
  #, python-brace-format
194
194
  msgid "Skipping GPS date/time ({group} group) as it was not recognized: {v}"
195
195
  msgstr "Skipping GPS date/time ({group} group) as it was not recognized: {v}"
196
196
 
197
- #: geopic_tag_reader/reader.py:761
197
+ #: geopic_tag_reader/reader.py:779
198
198
  #, python-brace-format
199
199
  msgid ""
200
200
  "Microseconds read from decimal seconds value ({microsecondsFromSeconds}) is "
@@ -8,7 +8,7 @@ msgstr ""
8
8
  "Project-Id-Version: PACKAGE VERSION\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
10
  "POT-Creation-Date: 2024-11-24 15:36+0100\n"
11
- "PO-Revision-Date: 2025-03-09 05:27+0000\n"
11
+ "PO-Revision-Date: 2025-04-26 18:21+0000\n"
12
12
  "Last-Translator: Rémi Simonnin <remisimonnin@orange.fr>\n"
13
13
  "Language-Team: Esperanto <http://weblate.panoramax.xyz/projects/panoramax/"
14
14
  "tag-reader/eo/>\n"
@@ -8,8 +8,8 @@ msgstr ""
8
8
  "Project-Id-Version: \n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
10
  "POT-Creation-Date: 2024-10-28 11:05+0100\n"
11
- "PO-Revision-Date: 2025-04-07 21:33+0000\n"
12
- "Last-Translator: Rémi Simonnin <remisimonnin@orange.fr>\n"
11
+ "PO-Revision-Date: 2025-04-15 07:48+0000\n"
12
+ "Last-Translator: Anonymous <noreply@weblate.org>\n"
13
13
  "Language-Team: French <http://weblate.panoramax.xyz/projects/panoramax/"
14
14
  "tag-reader/fr/>\n"
15
15
  "Language: fr\n"
@@ -52,6 +52,7 @@ msgid "Type:"
52
52
  msgstr "Type :"
53
53
 
54
54
  #: geopic_tag_reader/main.py:34
55
+ #, fuzzy
55
56
  msgid "Make:"
56
57
  msgstr "Fabriquant :"
57
58
 
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2025-04-14 11:46+0200\n"
11
+ "POT-Creation-Date: 2025-05-09 12:12+0200\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -94,97 +94,97 @@ msgstr ""
94
94
  msgid "Warnings raised by reader:"
95
95
  msgstr ""
96
96
 
97
- #: geopic_tag_reader/reader.py:228
97
+ #: geopic_tag_reader/reader.py:246
98
98
  msgid "Read latitude is out of WGS84 bounds (should be in [-90, 90])"
99
99
  msgstr ""
100
100
 
101
- #: geopic_tag_reader/reader.py:230
101
+ #: geopic_tag_reader/reader.py:248
102
102
  msgid "Read longitude is out of WGS84 bounds (should be in [-180, 180])"
103
103
  msgstr ""
104
104
 
105
- #: geopic_tag_reader/reader.py:258
105
+ #: geopic_tag_reader/reader.py:276
106
106
  #, python-brace-format
107
107
  msgid "Skipping Mapillary date/time as it was not recognized: {v}"
108
108
  msgstr ""
109
109
 
110
- #: geopic_tag_reader/reader.py:288
110
+ #: geopic_tag_reader/reader.py:306
111
111
  msgid "No heading value was found, this reduces usability of picture"
112
112
  msgstr ""
113
113
 
114
- #: geopic_tag_reader/reader.py:331
114
+ #: geopic_tag_reader/reader.py:349
115
115
  msgid ""
116
116
  "No make and model value found, no assumption on focal length or GPS "
117
117
  "precision can be made"
118
118
  msgstr ""
119
119
 
120
- #: geopic_tag_reader/reader.py:381
120
+ #: geopic_tag_reader/reader.py:399
121
121
  msgid ""
122
122
  "No focal length value was found, this prevents calculating field of view"
123
123
  msgstr ""
124
124
 
125
- #: geopic_tag_reader/reader.py:433
125
+ #: geopic_tag_reader/reader.py:451
126
126
  msgid "No GPS accuracy value found, this prevents computing a quality score"
127
127
  msgstr ""
128
128
 
129
- #: geopic_tag_reader/reader.py:435
129
+ #: geopic_tag_reader/reader.py:453
130
130
  msgid ""
131
131
  "No GPS horizontal positioning error value found, GPS accuracy can only be "
132
132
  "estimated"
133
133
  msgstr ""
134
134
 
135
- #: geopic_tag_reader/reader.py:442
135
+ #: geopic_tag_reader/reader.py:460
136
136
  msgid "No GPS coordinates or broken coordinates in picture EXIF tags"
137
137
  msgstr ""
138
138
 
139
- #: geopic_tag_reader/reader.py:448
139
+ #: geopic_tag_reader/reader.py:466
140
140
  msgid "No valid date in picture EXIF tags"
141
141
  msgstr ""
142
142
 
143
- #: geopic_tag_reader/reader.py:453
143
+ #: geopic_tag_reader/reader.py:471
144
144
  msgid "The picture is missing mandatory metadata:"
145
145
  msgstr ""
146
146
 
147
- #: geopic_tag_reader/reader.py:567 geopic_tag_reader/reader.py:596
147
+ #: geopic_tag_reader/reader.py:585 geopic_tag_reader/reader.py:614
148
148
  msgid "GPSLatitudeRef not found, assuming GPSLatitudeRef is North"
149
149
  msgstr ""
150
150
 
151
- #: geopic_tag_reader/reader.py:575
151
+ #: geopic_tag_reader/reader.py:593
152
152
  msgid "Broken GPS coordinates in picture EXIF tags"
153
153
  msgstr ""
154
154
 
155
- #: geopic_tag_reader/reader.py:578 geopic_tag_reader/reader.py:602
155
+ #: geopic_tag_reader/reader.py:596 geopic_tag_reader/reader.py:620
156
156
  msgid "GPSLongitudeRef not found, assuming GPSLongitudeRef is East"
157
157
  msgstr ""
158
158
 
159
- #: geopic_tag_reader/reader.py:663
159
+ #: geopic_tag_reader/reader.py:681
160
160
  msgid "Precise timezone information not found, fallback to UTC"
161
161
  msgstr ""
162
162
 
163
- #: geopic_tag_reader/reader.py:668
163
+ #: geopic_tag_reader/reader.py:686
164
164
  msgid ""
165
165
  "Precise timezone information not found (and no GPS coordinates to help), "
166
166
  "fallback to UTC"
167
167
  msgstr ""
168
168
 
169
- #: geopic_tag_reader/reader.py:672
169
+ #: geopic_tag_reader/reader.py:690
170
170
  #, python-brace-format
171
171
  msgid ""
172
172
  "Skipping original date/time (from {datefield}) as it was not recognized: {v}"
173
173
  msgstr ""
174
174
 
175
- #: geopic_tag_reader/reader.py:704
175
+ #: geopic_tag_reader/reader.py:722
176
176
  #, python-brace-format
177
177
  msgid ""
178
178
  "GPSTimeStamp and GPSDateTime don't contain supported time format (in {group} "
179
179
  "group)"
180
180
  msgstr ""
181
181
 
182
- #: geopic_tag_reader/reader.py:735
182
+ #: geopic_tag_reader/reader.py:753
183
183
  #, python-brace-format
184
184
  msgid "Skipping GPS date/time ({group} group) as it was not recognized: {v}"
185
185
  msgstr ""
186
186
 
187
- #: geopic_tag_reader/reader.py:761
187
+ #: geopic_tag_reader/reader.py:779
188
188
  #, python-brace-format
189
189
  msgid ""
190
190
  "Microseconds read from decimal seconds value ({microsecondsFromSeconds}) is "
@@ -8,8 +8,8 @@ msgstr ""
8
8
  "Project-Id-Version: PACKAGE VERSION\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
10
  "POT-Creation-Date: 2024-10-28 11:05+0100\n"
11
- "PO-Revision-Date: 2025-02-28 13:32+0000\n"
12
- "Last-Translator: Marco <e5m28oxuv@mozmail.com>\n"
11
+ "PO-Revision-Date: 2025-04-16 08:21+0000\n"
12
+ "Last-Translator: Marco <marco@users.noreply.weblate.panoramax.xyz>\n"
13
13
  "Language-Team: Italian <http://weblate.panoramax.xyz/projects/panoramax/"
14
14
  "tag-reader/it/>\n"
15
15
  "Language: it\n"
@@ -53,7 +53,7 @@ msgstr "Tipo:"
53
53
 
54
54
  #: geopic_tag_reader/main.py:34
55
55
  msgid "Make:"
56
- msgstr "Costruttore:"
56
+ msgstr "Marca:"
57
57
 
58
58
  #: geopic_tag_reader/main.py:35
59
59
  msgid "Model:"
@@ -8,8 +8,8 @@ msgstr ""
8
8
  "Project-Id-Version: PACKAGE VERSION\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
10
  "POT-Creation-Date: 2024-10-22 15:05+0200\n"
11
- "PO-Revision-Date: 2025-03-31 16:49+0000\n"
12
- "Last-Translator: Luna <luna@queerthoughts.org>\n"
11
+ "PO-Revision-Date: 2025-04-15 07:48+0000\n"
12
+ "Last-Translator: Anonymous <noreply@weblate.org>\n"
13
13
  "Language-Team: Dutch <http://weblate.panoramax.xyz/projects/panoramax/"
14
14
  "tag-reader/nl/>\n"
15
15
  "Language: nl\n"
@@ -52,6 +52,7 @@ msgid "Type:"
52
52
  msgstr "Soort:"
53
53
 
54
54
  #: geopic_tag_reader/main.py:34
55
+ #, fuzzy
55
56
  msgid "Make:"
56
57
  msgstr "Maker:"
57
58
 
@@ -8,8 +8,8 @@ msgstr ""
8
8
  "Project-Id-Version: PACKAGE VERSION\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
10
  "POT-Creation-Date: 2025-02-10 11:04+0100\n"
11
- "PO-Revision-Date: 2025-03-20 14:47+0000\n"
12
- "Last-Translator: HuggeK <huggek@klattorp.se>\n"
11
+ "PO-Revision-Date: 2025-04-15 07:48+0000\n"
12
+ "Last-Translator: Anonymous <noreply@weblate.org>\n"
13
13
  "Language-Team: Swedish <http://weblate.panoramax.xyz/projects/panoramax/"
14
14
  "tag-reader/sv/>\n"
15
15
  "Language: sv\n"
@@ -57,6 +57,7 @@ msgid "Type:"
57
57
  msgstr "Typ:"
58
58
 
59
59
  #: geopic_tag_reader/main.py:35
60
+ #, fuzzy
60
61
  msgid "Make:"
61
62
  msgstr "Tillverkare:"
62
63
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: geopic-tag-reader
3
- Version: 1.5.0
3
+ Version: 1.6.0
4
4
  Summary: GeoPicTagReader
5
5
  Author-email: Adrien PAVIE <panieravide@riseup.net>
6
6
  Requires-Python: >=3.9
@@ -1,48 +1,48 @@
1
- geopic_tag_reader/__init__.py,sha256=WL7U1hMKkKUVNdMNwg77tP4TCsQ5AD-LvLkCQBRM_xY,47
2
- geopic_tag_reader/camera.py,sha256=PBLyM_f9_wfv7kcFRm-7rBrrB99IibjhTPiokwskYGQ,4136
3
- geopic_tag_reader/cameras.csv,sha256=4WCm-SMOUOM11Rsn5AYIQJKQr2WxXaCT9qPkBuo5IQc,120470
1
+ geopic_tag_reader/__init__.py,sha256=KcHGpL6jtvrfnhIvSQOFnmECf-b_XV2dGXZQAT1yTBc,47
2
+ geopic_tag_reader/camera.py,sha256=ucuAVsLq_luKe8-wFXd7ruPVyhVK43p9niyoCXkAysQ,4131
3
+ geopic_tag_reader/cameras.csv,sha256=mAV0sJvVwNGNnvUHnzBrac53VfhCmEV1Z5hvgm4ErRY,120476
4
4
  geopic_tag_reader/i18n.py,sha256=LOLBj7eB_hpHTc5XdMP97EoWdD2kgmkP_uvJJDKEVsU,342
5
5
  geopic_tag_reader/main.py,sha256=xeEXMq-fFu0CtUiAgAeS9mb872D65OAQup3UeF6w050,4032
6
6
  geopic_tag_reader/model.py,sha256=rsWVE3T1kpNsKXX8iv6xb_3PCVY6Ea7iU9WOqUgXklU,129
7
7
  geopic_tag_reader/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- geopic_tag_reader/reader.py,sha256=6BNvBEZOWDjFPi-jCaDuL_yGRB8fXSp31ikml_nUM6k,31842
8
+ geopic_tag_reader/reader.py,sha256=pvALrElCaVm43nlHL9UYlkULZgmhA9fAAsdkgkfJU6o,32596
9
9
  geopic_tag_reader/sequence.py,sha256=ybHLIZyRWEw0I-sO6DDeXq8p9o1diuvRYyxmZwRVQoo,11595
10
10
  geopic_tag_reader/writer.py,sha256=HdZenoY_5Qv1Kq0jedCJhVFDYsv0iQaCzB6necU_LrY,8793
11
- geopic_tag_reader/translations/geopic_tag_reader.pot,sha256=C9sAyxnfLY7lehtxwGXo7QHssd7SlhMWPr8xDKS-M2s,4622
11
+ geopic_tag_reader/translations/geopic_tag_reader.pot,sha256=Qvt0TGpOcaWDxx0uy8XjBIhylSjitsQyHtRm6YnmGsU,4622
12
12
  geopic_tag_reader/translations/br/LC_MESSAGES/geopic_tag_reader.mo,sha256=o9Rr5Polmq4nr_XMwsDuVq7SvsTFFvVMg9y1opxeMM4,321
13
13
  geopic_tag_reader/translations/br/LC_MESSAGES/geopic_tag_reader.po,sha256=0wLUmdSgGtFRDnMiU3dm5cOUUFNC-8FT8q2qz-wtV9I,4595
14
- geopic_tag_reader/translations/da/LC_MESSAGES/geopic_tag_reader.mo,sha256=apjEHLm6dYLKsO3S3eSDo-Ac48lFSSFeaN0f7BtHXZk,4855
15
- geopic_tag_reader/translations/da/LC_MESSAGES/geopic_tag_reader.po,sha256=Z7u0hQqWbdj20kFXhKA0CLlDzgz9sBrF-xj-L2TZwqQ,6635
16
- geopic_tag_reader/translations/de/LC_MESSAGES/geopic_tag_reader.mo,sha256=iQTS1XIHf4YKkmm1KkZDNuCxv-p7BaNFeiZnKbaiX_4,5104
17
- geopic_tag_reader/translations/de/LC_MESSAGES/geopic_tag_reader.po,sha256=zcKdzo9Z8cpu3G78XWnMcOeJ2IEp_CLMzBCK25AHPVg,6918
18
- geopic_tag_reader/translations/en/LC_MESSAGES/geopic_tag_reader.mo,sha256=hYAfXUeKWQZJ6AIewzJBlDkj7x4h4WukieMaqav9ahc,4504
19
- geopic_tag_reader/translations/en/LC_MESSAGES/geopic_tag_reader.po,sha256=eHKh25eg5t7Jn7CKy5SCq-eThKjIgR9e_-lVYZwGx8A,6289
20
- geopic_tag_reader/translations/eo/LC_MESSAGES/geopic_tag_reader.mo,sha256=_lskCKIHWX6WQTHLNwIMVllJ5bD_xG7KyTG2YMNxwaI,4860
21
- geopic_tag_reader/translations/eo/LC_MESSAGES/geopic_tag_reader.po,sha256=_4lTs2z2vqmmH8xJ-pz-gNKI0zIh_hgpqds0fHxKBqs,6634
14
+ geopic_tag_reader/translations/da/LC_MESSAGES/geopic_tag_reader.mo,sha256=vJACTGCsEvqDvguAF1ZdqybQjAjkuDJ0pPucg3JoTdE,4855
15
+ geopic_tag_reader/translations/da/LC_MESSAGES/geopic_tag_reader.po,sha256=VY2ktiabJsSmDu7plGjtIzP_m8acOJSftnANqFtv1MM,6635
16
+ geopic_tag_reader/translations/de/LC_MESSAGES/geopic_tag_reader.mo,sha256=nU8XZUlhP8NLde2C0koP9jPBt5SW3Hfqu7ehzAR7nfI,5071
17
+ geopic_tag_reader/translations/de/LC_MESSAGES/geopic_tag_reader.po,sha256=sP_JKs79L1uQyBcwprzDcRwMyDvYHC9nh58p79tOP2k,6928
18
+ geopic_tag_reader/translations/en/LC_MESSAGES/geopic_tag_reader.mo,sha256=UTt-QN1l8iNMN-DbGKDYdKvnMh9FlEH-MZgyaAdYWZ4,4504
19
+ geopic_tag_reader/translations/en/LC_MESSAGES/geopic_tag_reader.po,sha256=2t5S5sOiFBXxCoaI0RPD0krqFSaFDIxqQR8HqTam0xE,6289
20
+ geopic_tag_reader/translations/eo/LC_MESSAGES/geopic_tag_reader.mo,sha256=5cpIaSHwwcSwPNfJG_bLErZs8S-8dD4kYNHpSVWMong,4860
21
+ geopic_tag_reader/translations/eo/LC_MESSAGES/geopic_tag_reader.po,sha256=1KrHLPpTJCCb5cPC6Ss3n2PDZ2S_f-2EkLVv1XvZ9LI,6634
22
22
  geopic_tag_reader/translations/es/LC_MESSAGES/geopic_tag_reader.mo,sha256=IizWkn7zrx5GC5jZNlpGQzOdJPAiMB9dCXoH2NzkXKY,3827
23
23
  geopic_tag_reader/translations/es/LC_MESSAGES/geopic_tag_reader.po,sha256=SkvYU9di37VFYs2nkCGUQQFziJ2G0xdmPunbtXKdhXY,5509
24
24
  geopic_tag_reader/translations/fi/LC_MESSAGES/geopic_tag_reader.mo,sha256=X_KeDXDlO50JFKNCkh6TKjQcvuGH48CKbmKjK-o2cfU,321
25
25
  geopic_tag_reader/translations/fi/LC_MESSAGES/geopic_tag_reader.po,sha256=2Gz8bcblT976JFPd0Q_FRq45__on0Fi1GIw6ocY-I64,3499
26
- geopic_tag_reader/translations/fr/LC_MESSAGES/geopic_tag_reader.mo,sha256=0XoaM7yBc0ccLDU1VUlKoLInOd_0taRr4xOdmRj0oG0,5114
27
- geopic_tag_reader/translations/fr/LC_MESSAGES/geopic_tag_reader.po,sha256=iI1OcKWIue3gyydCQsr3f5VNY1EhqhXXMCyxVVdcQT0,7780
26
+ geopic_tag_reader/translations/fr/LC_MESSAGES/geopic_tag_reader.mo,sha256=MqfUmydNQeSfpOagP0dOdJmJ-9Fx5S93D8Ncsk2mEyM,5045
27
+ geopic_tag_reader/translations/fr/LC_MESSAGES/geopic_tag_reader.po,sha256=tzJejUemp1d9y8-djEk7jAmOdF3Jv07TOIpweIy_bZw,7781
28
28
  geopic_tag_reader/translations/hu/LC_MESSAGES/geopic_tag_reader.mo,sha256=4QccZzPoGsbZj7SENlhMxZahqmt1sWu1lR48VHNofyc,3958
29
29
  geopic_tag_reader/translations/hu/LC_MESSAGES/geopic_tag_reader.po,sha256=aYE_fo18xMX-wctA5yTC-y3A9LC0llMIPrkgdsom-BY,5529
30
- geopic_tag_reader/translations/it/LC_MESSAGES/geopic_tag_reader.mo,sha256=tkf_f1ZhWIXNSWz3NnfK9Mb5IwXmB7ItZJLj_hKlldc,5012
31
- geopic_tag_reader/translations/it/LC_MESSAGES/geopic_tag_reader.po,sha256=yPOaa9ZgUWE4ZfDBdX_wft7wyt7tWFdTdLwbBm0ugYk,6801
30
+ geopic_tag_reader/translations/it/LC_MESSAGES/geopic_tag_reader.mo,sha256=iQI73vxC1mY_8jua_Ki8nXNug5klfwlY3swVITQ-hww,5026
31
+ geopic_tag_reader/translations/it/LC_MESSAGES/geopic_tag_reader.po,sha256=pNvL1htz5FzqiNUBdeD5jv-Qj22b4autA7ZQElwExXI,6815
32
32
  geopic_tag_reader/translations/ja/LC_MESSAGES/geopic_tag_reader.mo,sha256=6Vo8GpxWTdpqJRqcXvHTNttaeUSMdyYiaLSQZxX9d-U,5221
33
33
  geopic_tag_reader/translations/ja/LC_MESSAGES/geopic_tag_reader.po,sha256=RnOvP7qdZjwgyKK5DAe3ipJ53WrxXkjl7G_ylKiZ8tc,7054
34
34
  geopic_tag_reader/translations/ko/LC_MESSAGES/geopic_tag_reader.mo,sha256=2QPpe5bgqntybugUG53YzUzfLmsgcFupeJv-kz05LWs,321
35
35
  geopic_tag_reader/translations/ko/LC_MESSAGES/geopic_tag_reader.po,sha256=ct7bi-IQJ1Fsosfe41ACu0jf5nfV8cmmEFJWaMPguoQ,3704
36
- geopic_tag_reader/translations/nl/LC_MESSAGES/geopic_tag_reader.mo,sha256=gQfVKDJUYQLkex7JXxYVqAVEOKzYfi_QpHecSAD_Lgc,4929
37
- geopic_tag_reader/translations/nl/LC_MESSAGES/geopic_tag_reader.po,sha256=-OWfB-J-phiJqptVw5-ofnDs8Nbvdf76fb5qiLoPdCE,6718
36
+ geopic_tag_reader/translations/nl/LC_MESSAGES/geopic_tag_reader.mo,sha256=D__gfFggJt7xbQ5s1RwKNbtVHQA4MCvwSCM4vnRVbrc,4878
37
+ geopic_tag_reader/translations/nl/LC_MESSAGES/geopic_tag_reader.po,sha256=VWBrQEqSzp-OaWDoUV7uhHUxwZmzGil2jN79HdJKT2k,6729
38
38
  geopic_tag_reader/translations/pl/LC_MESSAGES/geopic_tag_reader.mo,sha256=QyfhilOoJnuB8LUWif7U4I4RzMInRcWoKJN56h-ToRU,4650
39
39
  geopic_tag_reader/translations/pl/LC_MESSAGES/geopic_tag_reader.po,sha256=AoVIZRmcE7g-btZFbkYDXwYobJUG8HG6un3fIJAkG5A,6372
40
- geopic_tag_reader/translations/sv/LC_MESSAGES/geopic_tag_reader.mo,sha256=J9mojqxkua_oUAKn5nOGYrk-9zsFCOTVhMygVTkdgZs,4834
41
- geopic_tag_reader/translations/sv/LC_MESSAGES/geopic_tag_reader.po,sha256=aXbCJRjlW5xosiTUCMGF-K6mOd8j9xD_fPI4-RVrFts,6625
40
+ geopic_tag_reader/translations/sv/LC_MESSAGES/geopic_tag_reader.mo,sha256=VAxfaefhpupimHB69UFsvl8o5isvH8x9To7RuXsiuq8,4779
41
+ geopic_tag_reader/translations/sv/LC_MESSAGES/geopic_tag_reader.po,sha256=mutLf-6jOZjHdYrDNAdShQGg0eR_vo87Ed_1CPiJqwM,6638
42
42
  geopic_tag_reader/translations/zh_Hant/LC_MESSAGES/geopic_tag_reader.mo,sha256=6bKHZnihlDOQQ5IQMKIgWViL5BorECqJ2ERFkE4LC6s,326
43
43
  geopic_tag_reader/translations/zh_Hant/LC_MESSAGES/geopic_tag_reader.po,sha256=QIiHRmrEHny4njQPBsj07fqtK2QFTgrAFc-E3s7ddJU,4600
44
- geopic_tag_reader-1.5.0.dist-info/entry_points.txt,sha256=c9YwjCNhxveDf-61_aSRlzcpoutvM6KQCerlzaVt_JU,64
45
- geopic_tag_reader-1.5.0.dist-info/licenses/LICENSE,sha256=OCZiFd7ok-n5jly2LwP7hEjuUukkvSt5iMkK_cY_00o,1076
46
- geopic_tag_reader-1.5.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
47
- geopic_tag_reader-1.5.0.dist-info/METADATA,sha256=on5B5neR_V8hrnvJTnktyosVFPns-jVZMRr3maJXSHY,4639
48
- geopic_tag_reader-1.5.0.dist-info/RECORD,,
44
+ geopic_tag_reader-1.6.0.dist-info/entry_points.txt,sha256=c9YwjCNhxveDf-61_aSRlzcpoutvM6KQCerlzaVt_JU,64
45
+ geopic_tag_reader-1.6.0.dist-info/licenses/LICENSE,sha256=OCZiFd7ok-n5jly2LwP7hEjuUukkvSt5iMkK_cY_00o,1076
46
+ geopic_tag_reader-1.6.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
47
+ geopic_tag_reader-1.6.0.dist-info/METADATA,sha256=ak6L7CIV5skYxx6tNxK7Sym4hSoQ79bAWjQinE5o1xo,4639
48
+ geopic_tag_reader-1.6.0.dist-info/RECORD,,