unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
blob 17bdae188fabae27be1b221ef9676fd321ca42d9 1960 bytes (raw)
name: packages/patches/python-xmp-toolkit-add-missing-error-codes.patch 	 # note: path name is non-authoritative(*)

 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


debug log:

solving 17bdae188fabae27be1b221ef9676fd321ca42d9 ...
found 17bdae188fabae27be1b221ef9676fd321ca42d9 in https://git.savannah.gnu.org/cgit/guix.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).