geopic-tag-reader 1.8.1__py3-none-any.whl → 1.8.2__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.
- geopic_tag_reader/__init__.py +1 -1
- geopic_tag_reader/camera.py +6 -1
- geopic_tag_reader/cameras.csv +4 -0
- geopic_tag_reader/reader.py +31 -7
- geopic_tag_reader/translations/en/LC_MESSAGES/geopic_tag_reader.po +31 -21
- geopic_tag_reader/translations/geopic_tag_reader.pot +31 -21
- {geopic_tag_reader-1.8.1.dist-info → geopic_tag_reader-1.8.2.dist-info}/METADATA +2 -2
- {geopic_tag_reader-1.8.1.dist-info → geopic_tag_reader-1.8.2.dist-info}/RECORD +11 -11
- {geopic_tag_reader-1.8.1.dist-info → geopic_tag_reader-1.8.2.dist-info}/WHEEL +0 -0
- {geopic_tag_reader-1.8.1.dist-info → geopic_tag_reader-1.8.2.dist-info}/entry_points.txt +0 -0
- {geopic_tag_reader-1.8.1.dist-info → geopic_tag_reader-1.8.2.dist-info}/licenses/LICENSE +0 -0
geopic_tag_reader/__init__.py
CHANGED
geopic_tag_reader/camera.py
CHANGED
|
@@ -22,6 +22,7 @@ GPS_ACCURACY_MAKE = {
|
|
|
22
22
|
"qoocam": 4,
|
|
23
23
|
"dji": 4,
|
|
24
24
|
# Smartphone GPS
|
|
25
|
+
"akaso": 5,
|
|
25
26
|
"samsung": 5,
|
|
26
27
|
"xiaomi": 5,
|
|
27
28
|
"huawei": 5,
|
|
@@ -141,9 +142,13 @@ def is_360(make: Optional[str] = None, model: Optional[str] = None, width: Optio
|
|
|
141
142
|
# Check make and model are defined
|
|
142
143
|
camera = find_camera(make, model)
|
|
143
144
|
if not camera:
|
|
145
|
+
# If unknown model, we can guess based on dimensions
|
|
146
|
+
if width is not None and height is not None and width == 2 * height:
|
|
147
|
+
return True
|
|
148
|
+
|
|
144
149
|
return False
|
|
145
150
|
|
|
146
|
-
# Check width and height are equirectangular
|
|
151
|
+
# Check width and height are equirectangular (to distinguish cameras doing both 360° or classic)
|
|
147
152
|
if not ((width is None or height is None) or width == 2 * height):
|
|
148
153
|
return False
|
|
149
154
|
|
geopic_tag_reader/cameras.csv
CHANGED
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
"AgfaPhoto";"sensor 505-X";"5.75";;
|
|
71
71
|
"AgfaPhoto";"sensor 530s";"5.75";;
|
|
72
72
|
"AgfaPhoto";"sensor 830s";"5.75";;
|
|
73
|
+
"AKASO";"360";;"1";
|
|
73
74
|
"Apple";"iPad 3";"4.54";;
|
|
74
75
|
"Apple";"iPhone 3,1";"4.74";;
|
|
75
76
|
"Apple";"iPhone 4";"4.74";;
|
|
@@ -3716,6 +3717,9 @@
|
|
|
3716
3717
|
"Toshiba";"PDR T10";"5.33";;
|
|
3717
3718
|
"Toshiba";"PDR T20";"5.33";;
|
|
3718
3719
|
"Toshiba";"PDR T30";"5.33";;
|
|
3720
|
+
"Trimble";"mx50";;"1";
|
|
3721
|
+
"Trimble";"mx60";;"1";
|
|
3722
|
+
"Trimble";"mx90";;"1";
|
|
3719
3723
|
"Viofo";"A119 Mini 2";"5.2";;
|
|
3720
3724
|
"Vivitar";"V8025";"7.11";;
|
|
3721
3725
|
"Vivitar";"ViviCam 5105s";"5.75";;
|
geopic_tag_reader/reader.py
CHANGED
|
@@ -11,6 +11,7 @@ import timezonefinder # type: ignore
|
|
|
11
11
|
import pytz
|
|
12
12
|
from geopic_tag_reader.i18n import init as i18n_init
|
|
13
13
|
import math
|
|
14
|
+
import logging
|
|
14
15
|
|
|
15
16
|
# This is a fix for invalid MakerNotes leading to picture not read at all
|
|
16
17
|
# https://github.com/LeoHsiao1/pyexiv2/issues/58
|
|
@@ -18,6 +19,8 @@ pyexiv2.set_log_level(4)
|
|
|
18
19
|
|
|
19
20
|
tz_finder = timezonefinder.TimezoneFinder()
|
|
20
21
|
|
|
22
|
+
METADATA_ENCODINGS = ["UTF-8", "ISO-8859-1"]
|
|
23
|
+
|
|
21
24
|
|
|
22
25
|
@dataclass
|
|
23
26
|
class CropValues:
|
|
@@ -179,17 +182,33 @@ def readPictureMetadata(picture: bytes, lang_code: str = "en") -> GeoPicTags:
|
|
|
179
182
|
GeoPicTags: Extracted metadata from picture
|
|
180
183
|
"""
|
|
181
184
|
|
|
185
|
+
_ = i18n_init(lang_code)
|
|
182
186
|
data = {}
|
|
187
|
+
warnings = []
|
|
188
|
+
|
|
183
189
|
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
190
|
width = img.get_pixel_width()
|
|
188
191
|
height = img.get_pixel_height()
|
|
189
192
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
+
# Read raw tags, with fallback encoding if necessary
|
|
194
|
+
for read_fct in [img.read_exif, img.read_iptc, img.read_xmp]:
|
|
195
|
+
for encoding in METADATA_ENCODINGS:
|
|
196
|
+
try:
|
|
197
|
+
data.update(read_fct(encoding))
|
|
198
|
+
break
|
|
199
|
+
except Exception as e:
|
|
200
|
+
logging.debug(e)
|
|
201
|
+
warnings.append(_("Can't run {f} using {e} encoding").format(f=read_fct.__name__, e=encoding))
|
|
202
|
+
|
|
203
|
+
# Specific case for read_comment
|
|
204
|
+
for encoding in METADATA_ENCODINGS:
|
|
205
|
+
try:
|
|
206
|
+
imgComment = img.read_comment(encoding=encoding)
|
|
207
|
+
if imgComment is not None and len(imgComment.strip()) > 0:
|
|
208
|
+
data["Exif.Photo.UserComment"] = imgComment
|
|
209
|
+
except Exception as e:
|
|
210
|
+
logging.debug(e)
|
|
211
|
+
warnings.append(_("Can't read comment tag using {e} encoding").format(e=encoding))
|
|
193
212
|
|
|
194
213
|
# Read Mapillary tags
|
|
195
214
|
if "Exif.Image.ImageDescription" in data:
|
|
@@ -201,7 +220,12 @@ def readPictureMetadata(picture: bytes, lang_code: str = "en") -> GeoPicTags:
|
|
|
201
220
|
except:
|
|
202
221
|
pass
|
|
203
222
|
|
|
204
|
-
|
|
223
|
+
picmeta = getPictureMetadata(data, width, height, lang_code)
|
|
224
|
+
|
|
225
|
+
if len(warnings) > 0:
|
|
226
|
+
picmeta.tagreader_warnings.extend(warnings)
|
|
227
|
+
|
|
228
|
+
return picmeta
|
|
205
229
|
|
|
206
230
|
|
|
207
231
|
def getPictureMetadata(data: dict, width: int, height: int, lang_code: str = "en") -> GeoPicTags:
|
|
@@ -7,7 +7,7 @@ msgid ""
|
|
|
7
7
|
msgstr ""
|
|
8
8
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
9
9
|
"Report-Msgid-Bugs-To: \n"
|
|
10
|
-
"POT-Creation-Date: 2026-
|
|
10
|
+
"POT-Creation-Date: 2026-02-03 09:32+0100\n"
|
|
11
11
|
"PO-Revision-Date: 2026-01-24 14:06+0100\n"
|
|
12
12
|
"Last-Translator: Automatically generated\n"
|
|
13
13
|
"Language-Team: none\n"
|
|
@@ -94,24 +94,34 @@ msgstr "Yaw:"
|
|
|
94
94
|
msgid "Warnings raised by reader:"
|
|
95
95
|
msgstr "Warnings raised by reader:"
|
|
96
96
|
|
|
97
|
-
#: geopic_tag_reader/reader.py:
|
|
97
|
+
#: geopic_tag_reader/reader.py:201
|
|
98
|
+
#, python-brace-format
|
|
99
|
+
msgid "Can't run {f} using {e} encoding"
|
|
100
|
+
msgstr ""
|
|
101
|
+
|
|
102
|
+
#: geopic_tag_reader/reader.py:211
|
|
103
|
+
#, python-brace-format
|
|
104
|
+
msgid "Can't read comment tag using {e} encoding"
|
|
105
|
+
msgstr ""
|
|
106
|
+
|
|
107
|
+
#: geopic_tag_reader/reader.py:270
|
|
98
108
|
msgid "Read latitude is out of WGS84 bounds (should be in [-90, 90])"
|
|
99
109
|
msgstr "Read latitude is out of WGS84 bounds (should be in [-90, 90])"
|
|
100
110
|
|
|
101
|
-
#: geopic_tag_reader/reader.py:
|
|
111
|
+
#: geopic_tag_reader/reader.py:272
|
|
102
112
|
msgid "Read longitude is out of WGS84 bounds (should be in [-180, 180])"
|
|
103
113
|
msgstr "Read longitude is out of WGS84 bounds (should be in [-180, 180])"
|
|
104
114
|
|
|
105
|
-
#: geopic_tag_reader/reader.py:
|
|
115
|
+
#: geopic_tag_reader/reader.py:300
|
|
106
116
|
#, python-brace-format
|
|
107
117
|
msgid "Skipping Mapillary date/time as it was not recognized: {v}"
|
|
108
118
|
msgstr "Skipping Mapillary date/time as it was not recognized: {v}"
|
|
109
119
|
|
|
110
|
-
#: geopic_tag_reader/reader.py:
|
|
120
|
+
#: geopic_tag_reader/reader.py:330
|
|
111
121
|
msgid "No heading value was found, this reduces usability of picture"
|
|
112
122
|
msgstr "No heading value was found, this reduces usability of picture"
|
|
113
123
|
|
|
114
|
-
#: geopic_tag_reader/reader.py:
|
|
124
|
+
#: geopic_tag_reader/reader.py:373
|
|
115
125
|
msgid ""
|
|
116
126
|
"No make and model value found, no assumption on focal length or GPS "
|
|
117
127
|
"precision can be made"
|
|
@@ -119,17 +129,17 @@ msgstr ""
|
|
|
119
129
|
"No make and model value found, no assumption on focal length or GPS "
|
|
120
130
|
"precision can be made"
|
|
121
131
|
|
|
122
|
-
#: geopic_tag_reader/reader.py:
|
|
132
|
+
#: geopic_tag_reader/reader.py:453
|
|
123
133
|
msgid ""
|
|
124
134
|
"No focal length value was found, this prevents calculating field of view"
|
|
125
135
|
msgstr ""
|
|
126
136
|
"No focal length value was found, this prevents calculating field of view"
|
|
127
137
|
|
|
128
|
-
#: geopic_tag_reader/reader.py:
|
|
138
|
+
#: geopic_tag_reader/reader.py:505
|
|
129
139
|
msgid "No GPS accuracy value found, this prevents computing a quality score"
|
|
130
140
|
msgstr "No GPS accuracy value found, this prevents computing a quality score"
|
|
131
141
|
|
|
132
|
-
#: geopic_tag_reader/reader.py:
|
|
142
|
+
#: geopic_tag_reader/reader.py:507
|
|
133
143
|
msgid ""
|
|
134
144
|
"No GPS horizontal positioning error value found, GPS accuracy can only be "
|
|
135
145
|
"estimated"
|
|
@@ -137,35 +147,35 @@ msgstr ""
|
|
|
137
147
|
"No GPS horizontal positioning error value found, GPS accuracy can only be "
|
|
138
148
|
"estimated"
|
|
139
149
|
|
|
140
|
-
#: geopic_tag_reader/reader.py:
|
|
150
|
+
#: geopic_tag_reader/reader.py:514
|
|
141
151
|
msgid "No GPS coordinates or broken coordinates in picture EXIF tags"
|
|
142
152
|
msgstr "No GPS coordinates or broken coordinates in picture EXIF tags"
|
|
143
153
|
|
|
144
|
-
#: geopic_tag_reader/reader.py:
|
|
154
|
+
#: geopic_tag_reader/reader.py:520
|
|
145
155
|
msgid "No valid date in picture EXIF tags"
|
|
146
156
|
msgstr "No valid date in picture EXIF tags"
|
|
147
157
|
|
|
148
|
-
#: geopic_tag_reader/reader.py:
|
|
158
|
+
#: geopic_tag_reader/reader.py:525
|
|
149
159
|
msgid "The picture is missing mandatory metadata:"
|
|
150
160
|
msgstr "The picture is missing mandatory metadata:"
|
|
151
161
|
|
|
152
|
-
#: geopic_tag_reader/reader.py:
|
|
162
|
+
#: geopic_tag_reader/reader.py:639 geopic_tag_reader/reader.py:668
|
|
153
163
|
msgid "GPSLatitudeRef not found, assuming GPSLatitudeRef is North"
|
|
154
164
|
msgstr "GPSLatitudeRef not found, assuming GPSLatitudeRef is North"
|
|
155
165
|
|
|
156
|
-
#: geopic_tag_reader/reader.py:
|
|
166
|
+
#: geopic_tag_reader/reader.py:647
|
|
157
167
|
msgid "Broken GPS coordinates in picture EXIF tags"
|
|
158
168
|
msgstr "Broken GPS coordinates in picture EXIF tags"
|
|
159
169
|
|
|
160
|
-
#: geopic_tag_reader/reader.py:
|
|
170
|
+
#: geopic_tag_reader/reader.py:650 geopic_tag_reader/reader.py:674
|
|
161
171
|
msgid "GPSLongitudeRef not found, assuming GPSLongitudeRef is East"
|
|
162
172
|
msgstr "GPSLongitudeRef not found, assuming GPSLongitudeRef is East"
|
|
163
173
|
|
|
164
|
-
#: geopic_tag_reader/reader.py:
|
|
174
|
+
#: geopic_tag_reader/reader.py:735
|
|
165
175
|
msgid "Precise timezone information not found, fallback to UTC"
|
|
166
176
|
msgstr "Precise timezone information not found, fallback to UTC"
|
|
167
177
|
|
|
168
|
-
#: geopic_tag_reader/reader.py:
|
|
178
|
+
#: geopic_tag_reader/reader.py:740
|
|
169
179
|
msgid ""
|
|
170
180
|
"Precise timezone information not found (and no GPS coordinates to help), "
|
|
171
181
|
"fallback to UTC"
|
|
@@ -173,14 +183,14 @@ msgstr ""
|
|
|
173
183
|
"Precise timezone information not found (and no GPS coordinates to help), "
|
|
174
184
|
"fallback to UTC"
|
|
175
185
|
|
|
176
|
-
#: geopic_tag_reader/reader.py:
|
|
186
|
+
#: geopic_tag_reader/reader.py:744
|
|
177
187
|
#, python-brace-format
|
|
178
188
|
msgid ""
|
|
179
189
|
"Skipping original date/time (from {datefield}) as it was not recognized: {v}"
|
|
180
190
|
msgstr ""
|
|
181
191
|
"Skipping original date/time (from {datefield}) as it was not recognized: {v}"
|
|
182
192
|
|
|
183
|
-
#: geopic_tag_reader/reader.py:
|
|
193
|
+
#: geopic_tag_reader/reader.py:776
|
|
184
194
|
#, python-brace-format
|
|
185
195
|
msgid ""
|
|
186
196
|
"GPSTimeStamp and GPSDateTime don't contain supported time format (in {group} "
|
|
@@ -189,12 +199,12 @@ msgstr ""
|
|
|
189
199
|
"GPSTimeStamp and GPSDateTime don't contain supported time format (in {group} "
|
|
190
200
|
"group)"
|
|
191
201
|
|
|
192
|
-
#: geopic_tag_reader/reader.py:
|
|
202
|
+
#: geopic_tag_reader/reader.py:807
|
|
193
203
|
#, python-brace-format
|
|
194
204
|
msgid "Skipping GPS date/time ({group} group) as it was not recognized: {v}"
|
|
195
205
|
msgstr "Skipping GPS date/time ({group} group) as it was not recognized: {v}"
|
|
196
206
|
|
|
197
|
-
#: geopic_tag_reader/reader.py:
|
|
207
|
+
#: geopic_tag_reader/reader.py:833
|
|
198
208
|
#, python-brace-format
|
|
199
209
|
msgid ""
|
|
200
210
|
"Microseconds read from decimal seconds value ({microsecondsFromSeconds}) is "
|
|
@@ -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: 2026-
|
|
11
|
+
"POT-Creation-Date: 2026-02-03 09:32+0100\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,107 @@ msgstr ""
|
|
|
94
94
|
msgid "Warnings raised by reader:"
|
|
95
95
|
msgstr ""
|
|
96
96
|
|
|
97
|
-
#: geopic_tag_reader/reader.py:
|
|
97
|
+
#: geopic_tag_reader/reader.py:201
|
|
98
|
+
#, python-brace-format
|
|
99
|
+
msgid "Can't run {f} using {e} encoding"
|
|
100
|
+
msgstr ""
|
|
101
|
+
|
|
102
|
+
#: geopic_tag_reader/reader.py:211
|
|
103
|
+
#, python-brace-format
|
|
104
|
+
msgid "Can't read comment tag using {e} encoding"
|
|
105
|
+
msgstr ""
|
|
106
|
+
|
|
107
|
+
#: geopic_tag_reader/reader.py:270
|
|
98
108
|
msgid "Read latitude is out of WGS84 bounds (should be in [-90, 90])"
|
|
99
109
|
msgstr ""
|
|
100
110
|
|
|
101
|
-
#: geopic_tag_reader/reader.py:
|
|
111
|
+
#: geopic_tag_reader/reader.py:272
|
|
102
112
|
msgid "Read longitude is out of WGS84 bounds (should be in [-180, 180])"
|
|
103
113
|
msgstr ""
|
|
104
114
|
|
|
105
|
-
#: geopic_tag_reader/reader.py:
|
|
115
|
+
#: geopic_tag_reader/reader.py:300
|
|
106
116
|
#, python-brace-format
|
|
107
117
|
msgid "Skipping Mapillary date/time as it was not recognized: {v}"
|
|
108
118
|
msgstr ""
|
|
109
119
|
|
|
110
|
-
#: geopic_tag_reader/reader.py:
|
|
120
|
+
#: geopic_tag_reader/reader.py:330
|
|
111
121
|
msgid "No heading value was found, this reduces usability of picture"
|
|
112
122
|
msgstr ""
|
|
113
123
|
|
|
114
|
-
#: geopic_tag_reader/reader.py:
|
|
124
|
+
#: geopic_tag_reader/reader.py:373
|
|
115
125
|
msgid ""
|
|
116
126
|
"No make and model value found, no assumption on focal length or GPS "
|
|
117
127
|
"precision can be made"
|
|
118
128
|
msgstr ""
|
|
119
129
|
|
|
120
|
-
#: geopic_tag_reader/reader.py:
|
|
130
|
+
#: geopic_tag_reader/reader.py:453
|
|
121
131
|
msgid ""
|
|
122
132
|
"No focal length value was found, this prevents calculating field of view"
|
|
123
133
|
msgstr ""
|
|
124
134
|
|
|
125
|
-
#: geopic_tag_reader/reader.py:
|
|
135
|
+
#: geopic_tag_reader/reader.py:505
|
|
126
136
|
msgid "No GPS accuracy value found, this prevents computing a quality score"
|
|
127
137
|
msgstr ""
|
|
128
138
|
|
|
129
|
-
#: geopic_tag_reader/reader.py:
|
|
139
|
+
#: geopic_tag_reader/reader.py:507
|
|
130
140
|
msgid ""
|
|
131
141
|
"No GPS horizontal positioning error value found, GPS accuracy can only be "
|
|
132
142
|
"estimated"
|
|
133
143
|
msgstr ""
|
|
134
144
|
|
|
135
|
-
#: geopic_tag_reader/reader.py:
|
|
145
|
+
#: geopic_tag_reader/reader.py:514
|
|
136
146
|
msgid "No GPS coordinates or broken coordinates in picture EXIF tags"
|
|
137
147
|
msgstr ""
|
|
138
148
|
|
|
139
|
-
#: geopic_tag_reader/reader.py:
|
|
149
|
+
#: geopic_tag_reader/reader.py:520
|
|
140
150
|
msgid "No valid date in picture EXIF tags"
|
|
141
151
|
msgstr ""
|
|
142
152
|
|
|
143
|
-
#: geopic_tag_reader/reader.py:
|
|
153
|
+
#: geopic_tag_reader/reader.py:525
|
|
144
154
|
msgid "The picture is missing mandatory metadata:"
|
|
145
155
|
msgstr ""
|
|
146
156
|
|
|
147
|
-
#: geopic_tag_reader/reader.py:
|
|
157
|
+
#: geopic_tag_reader/reader.py:639 geopic_tag_reader/reader.py:668
|
|
148
158
|
msgid "GPSLatitudeRef not found, assuming GPSLatitudeRef is North"
|
|
149
159
|
msgstr ""
|
|
150
160
|
|
|
151
|
-
#: geopic_tag_reader/reader.py:
|
|
161
|
+
#: geopic_tag_reader/reader.py:647
|
|
152
162
|
msgid "Broken GPS coordinates in picture EXIF tags"
|
|
153
163
|
msgstr ""
|
|
154
164
|
|
|
155
|
-
#: geopic_tag_reader/reader.py:
|
|
165
|
+
#: geopic_tag_reader/reader.py:650 geopic_tag_reader/reader.py:674
|
|
156
166
|
msgid "GPSLongitudeRef not found, assuming GPSLongitudeRef is East"
|
|
157
167
|
msgstr ""
|
|
158
168
|
|
|
159
|
-
#: geopic_tag_reader/reader.py:
|
|
169
|
+
#: geopic_tag_reader/reader.py:735
|
|
160
170
|
msgid "Precise timezone information not found, fallback to UTC"
|
|
161
171
|
msgstr ""
|
|
162
172
|
|
|
163
|
-
#: geopic_tag_reader/reader.py:
|
|
173
|
+
#: geopic_tag_reader/reader.py:740
|
|
164
174
|
msgid ""
|
|
165
175
|
"Precise timezone information not found (and no GPS coordinates to help), "
|
|
166
176
|
"fallback to UTC"
|
|
167
177
|
msgstr ""
|
|
168
178
|
|
|
169
|
-
#: geopic_tag_reader/reader.py:
|
|
179
|
+
#: geopic_tag_reader/reader.py:744
|
|
170
180
|
#, python-brace-format
|
|
171
181
|
msgid ""
|
|
172
182
|
"Skipping original date/time (from {datefield}) as it was not recognized: {v}"
|
|
173
183
|
msgstr ""
|
|
174
184
|
|
|
175
|
-
#: geopic_tag_reader/reader.py:
|
|
185
|
+
#: geopic_tag_reader/reader.py:776
|
|
176
186
|
#, python-brace-format
|
|
177
187
|
msgid ""
|
|
178
188
|
"GPSTimeStamp and GPSDateTime don't contain supported time format (in {group} "
|
|
179
189
|
"group)"
|
|
180
190
|
msgstr ""
|
|
181
191
|
|
|
182
|
-
#: geopic_tag_reader/reader.py:
|
|
192
|
+
#: geopic_tag_reader/reader.py:807
|
|
183
193
|
#, python-brace-format
|
|
184
194
|
msgid "Skipping GPS date/time ({group} group) as it was not recognized: {v}"
|
|
185
195
|
msgstr ""
|
|
186
196
|
|
|
187
|
-
#: geopic_tag_reader/reader.py:
|
|
197
|
+
#: geopic_tag_reader/reader.py:833
|
|
188
198
|
#, python-brace-format
|
|
189
199
|
msgid ""
|
|
190
200
|
"Microseconds read from decimal seconds value ({microsecondsFromSeconds}) is "
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: geopic-tag-reader
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.2
|
|
4
4
|
Summary: GeoPicTagReader
|
|
5
5
|
Author-email: Adrien PAVIE <panieravide@riseup.net>
|
|
6
6
|
Requires-Python: >=3.9
|
|
@@ -9,7 +9,7 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
9
9
|
License-File: LICENSE
|
|
10
10
|
Requires-Dist: typer ~= 0.15
|
|
11
11
|
Requires-Dist: xmltodict ~= 0.14
|
|
12
|
-
Requires-Dist: pyexiv2 == 2.15.
|
|
12
|
+
Requires-Dist: pyexiv2 == 2.15.5
|
|
13
13
|
Requires-Dist: timezonefinder == 6.5.9
|
|
14
14
|
Requires-Dist: pytz ~= 2025.2
|
|
15
15
|
Requires-Dist: types-pytz ~= 2025.2.0
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
geopic_tag_reader/__init__.py,sha256=
|
|
2
|
-
geopic_tag_reader/camera.py,sha256=
|
|
3
|
-
geopic_tag_reader/cameras.csv,sha256=
|
|
1
|
+
geopic_tag_reader/__init__.py,sha256=2ozShoTjzGhdT3M5ODSGkmrHuNEFXpytJ5Ac5sXJAM0,47
|
|
2
|
+
geopic_tag_reader/camera.py,sha256=6qdeqStInNVMGiYqofa-9IpUb9cJ42BEQIICubXueMY,4377
|
|
3
|
+
geopic_tag_reader/cameras.csv,sha256=1GfHONbstxrAuJuLcYzCO4UdIMOv157-mOBCIJGLxDg,120785
|
|
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=
|
|
8
|
+
geopic_tag_reader/reader.py,sha256=yLoMR2ic9DOPEuQoaLdzLpH1m6G5uRPK-yrUaS82gIM,34902
|
|
9
9
|
geopic_tag_reader/sequence.py,sha256=rjfZil3krwFDRgObK_JQKNZ1JHc6xWH1QjzMGor7LXQ,14455
|
|
10
10
|
geopic_tag_reader/writer.py,sha256=HdZenoY_5Qv1Kq0jedCJhVFDYsv0iQaCzB6necU_LrY,8793
|
|
11
|
-
geopic_tag_reader/translations/geopic_tag_reader.pot,sha256=
|
|
11
|
+
geopic_tag_reader/translations/geopic_tag_reader.pot,sha256=CsRvVr44pkkpEGGkHNhRYITz0QNmrNzeDZNdp5uf5nU,4851
|
|
12
12
|
geopic_tag_reader/translations/ar/LC_MESSAGES/geopic_tag_reader.mo,sha256=irAVZnI56p6_8zyput5y1r4zsQ7Pv-EFLQTOK2Gt2ug,321
|
|
13
13
|
geopic_tag_reader/translations/ar/LC_MESSAGES/geopic_tag_reader.po,sha256=rR1cRk9rtGmFfWQktCZKLAijHy0I-ndtkpI1KyYEjx4,4595
|
|
14
14
|
geopic_tag_reader/translations/be/LC_MESSAGES/geopic_tag_reader.mo,sha256=Q3opCCe_-WybJ0kgpTf1eFHPVxTF0oNzxaGJbBAkWxw,6101
|
|
@@ -20,7 +20,7 @@ geopic_tag_reader/translations/da/LC_MESSAGES/geopic_tag_reader.po,sha256=VY2kti
|
|
|
20
20
|
geopic_tag_reader/translations/de/LC_MESSAGES/geopic_tag_reader.mo,sha256=OyGS9Oid8LLK_MZgo_WRDyZR9MMP5lRn7o9zcceeYrk,5184
|
|
21
21
|
geopic_tag_reader/translations/de/LC_MESSAGES/geopic_tag_reader.po,sha256=0FAmMWR_fA1kVDlyY0OMcMKekjo0iMoMdmGwnRGd1ZQ,7006
|
|
22
22
|
geopic_tag_reader/translations/en/LC_MESSAGES/geopic_tag_reader.mo,sha256=-brK5Fm8mhgCrASGhHgUZhPOV8mo1yWNOoPcSrfKgjc,4504
|
|
23
|
-
geopic_tag_reader/translations/en/LC_MESSAGES/geopic_tag_reader.po,sha256=
|
|
23
|
+
geopic_tag_reader/translations/en/LC_MESSAGES/geopic_tag_reader.po,sha256=8j1ZKJ6D1raqzV6TfD7aF1bbTsiL8VScy_kWbcBO1Gk,6518
|
|
24
24
|
geopic_tag_reader/translations/eo/LC_MESSAGES/geopic_tag_reader.mo,sha256=5cpIaSHwwcSwPNfJG_bLErZs8S-8dD4kYNHpSVWMong,4860
|
|
25
25
|
geopic_tag_reader/translations/eo/LC_MESSAGES/geopic_tag_reader.po,sha256=1KrHLPpTJCCb5cPC6Ss3n2PDZ2S_f-2EkLVv1XvZ9LI,6634
|
|
26
26
|
geopic_tag_reader/translations/es/LC_MESSAGES/geopic_tag_reader.mo,sha256=IizWkn7zrx5GC5jZNlpGQzOdJPAiMB9dCXoH2NzkXKY,3827
|
|
@@ -55,8 +55,8 @@ geopic_tag_reader/translations/uk/LC_MESSAGES/geopic_tag_reader.mo,sha256=4_c57R
|
|
|
55
55
|
geopic_tag_reader/translations/uk/LC_MESSAGES/geopic_tag_reader.po,sha256=bBt0TtT5p1T3mOCqoRKXojIhXscHPtGatqNkiSmQJgE,8053
|
|
56
56
|
geopic_tag_reader/translations/zh_Hant/LC_MESSAGES/geopic_tag_reader.mo,sha256=6bKHZnihlDOQQ5IQMKIgWViL5BorECqJ2ERFkE4LC6s,326
|
|
57
57
|
geopic_tag_reader/translations/zh_Hant/LC_MESSAGES/geopic_tag_reader.po,sha256=QIiHRmrEHny4njQPBsj07fqtK2QFTgrAFc-E3s7ddJU,4600
|
|
58
|
-
geopic_tag_reader-1.8.
|
|
59
|
-
geopic_tag_reader-1.8.
|
|
60
|
-
geopic_tag_reader-1.8.
|
|
61
|
-
geopic_tag_reader-1.8.
|
|
62
|
-
geopic_tag_reader-1.8.
|
|
58
|
+
geopic_tag_reader-1.8.2.dist-info/entry_points.txt,sha256=c9YwjCNhxveDf-61_aSRlzcpoutvM6KQCerlzaVt_JU,64
|
|
59
|
+
geopic_tag_reader-1.8.2.dist-info/licenses/LICENSE,sha256=OCZiFd7ok-n5jly2LwP7hEjuUukkvSt5iMkK_cY_00o,1076
|
|
60
|
+
geopic_tag_reader-1.8.2.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
61
|
+
geopic_tag_reader-1.8.2.dist-info/METADATA,sha256=IILF4M5fb__91tFzvtLxgJxxKNn8IL0HQpWJSIP7Ly0,4669
|
|
62
|
+
geopic_tag_reader-1.8.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|