1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| | From fd9e887a1853d9b4bc3fce20d414d648fb5abbfc Mon Sep 17 00:00:00 2001
From: Asher Glick <asher.glick@gmail.com>
Date: Mon, 1 Mar 2021 14:35:46 -0600
Subject: [PATCH] Add missing error codes and graceful handling of possible
future missing codes.
---
libxmp/exempi.py | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/libxmp/exempi.py b/libxmp/exempi.py
index 683e240..f58003c 100644
--- a/libxmp/exempi.py
+++ b/libxmp/exempi.py
@@ -85,6 +85,7 @@ ERROR_MESSAGE = { 0: "unknown error",
-13: "std exception",
-14: "unknown exception",
-15: "no memory",
+ -16: "progress abort",
-101: "bad schema",
-102: "bad XPath",
-103: "bad options",
@@ -95,6 +96,14 @@ ERROR_MESSAGE = { 0: "unknown error",
-108: "bad file format",
-109: "no file handler",
-110: "too large for JPEG",
+ -111: "no file",
+ -112: "file permission error",
+ -113: "disk space",
+ -114: "read error",
+ -115: "write error",
+ -116: "bad block format",
+ -117: "file path not a file",
+ -118: "rejected file extension",
-201: "bad XML",
-202: "bad RDF",
-203: "bad XMP",
@@ -1697,6 +1706,9 @@ def check_error(success):
# so we supplement it by explicitly checking the error code.
ecode = EXEMPI.xmp_get_error()
if not success or ecode != 0:
- error_msg = ERROR_MESSAGE[ecode]
+ if ecode in ERROR_MESSAGE:
+ error_msg = ERROR_MESSAGE[ecode]
+ else:
+ error_msg = "Unexpected error code " + str(ecode)
msg = 'Exempi function failure ("{0}").'.format(error_msg)
raise XMPError(msg)
--
2.30.2
|