summaryrefslogtreecommitdiff
path: root/media-gfx/displaycal-py3/files/displaycal-py3-3.9.10-python-3.11.patch
blob: d8e7d05abfb486a0224e9e39a38d38b378b7df29 (plain)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Based on
https://github.com/eoyilmaz/displaycal-py3/commit/3762e7be0368484d68c4a90923672fdb0f51a5fc
and
https://github.com/eoyilmaz/displaycal-py3/commit/97f0c91f5855e4d21f47181ef596251eb03cb835

diff --git a/DisplayCAL/RealDisplaySizeMM.py b/DisplayCAL/RealDisplaySizeMM.py
index 00957692c..25b730d05 100644
--- a/DisplayCAL/RealDisplaySizeMM.py
+++ b/DisplayCAL/RealDisplaySizeMM.py
@@ -25,6 +25,8 @@
         from DisplayCAL.lib64.python39.RealDisplaySizeMM import *
     elif sys.version_info[:2] == (3, 10):
         from DisplayCAL.lib64.python310.RealDisplaySizeMM import *
+    elif sys.version_info[:2] == (3, 11):
+        from DisplayCAL.lib64.python311.RealDisplaySizeMM import *
 # else:
 #     pass
 
diff --git a/DisplayCAL/defaultpaths.py b/DisplayCAL/defaultpaths.py
index cd11d6d75..59258e79d 100644
--- a/DisplayCAL/defaultpaths.py
+++ b/DisplayCAL/defaultpaths.py
@@ -235,9 +235,14 @@ def set_translation(obj):
                     obj.GETTEXT_PACKAGE, locale_dir, codeset="UTF-8"
                 )
             except TypeError:
-                obj.translation = gettext.translation(
-                    obj.GETTEXT_PACKAGE, locale_dir
-                )
+                try:
+                    obj.translation = gettext.translation(
+                        obj.GETTEXT_PACKAGE, locale_dir
+                    )
+                except FileNotFoundError as exc:
+                    print("XDG:", exc)
+                    obj.translation = gettext.NullTranslations()
+                    return False
             except IOError as exception:
                 print("XDG:", exception)
                 obj.translation = gettext.NullTranslations()
@@ -261,11 +266,7 @@ def get_config_files(filename):
 
         @staticmethod
         def shell_unescape(s):
-            a = []
-            for i, c in enumerate(s):
-                if c == "\\" and len(s) > i + 1:
-                    continue
-                a.append(c)
+            a = [c for i, c in enumerate(s) if c != "\\" or len(s) <= i + 1]
             return "".join(a)
 
         @staticmethod
diff --git a/DisplayCAL/lib64/python311/__init__.py b/DisplayCAL/lib64/python311/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/README.md b/README.md
index 3ff3c4ec4..4119ace70 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@ Here is a screenshots showing the tool working with Python 3.10:
 
 ![image](https://user-images.githubusercontent.com/1786804/169152229-e06ff549-55fe-4149-8742-405446e6b01f.png)
 
-Currently, DisplayCAL is working with Python 3.8, 3.9 and 3.10 and wxPython 4.1.1 or 4.2.0.
+Currently, DisplayCAL is working with Python 3.8, 3.9, 3.10 and 3.11 and wxPython 4.1.1 or 4.2.0.
 
 Here is a list of things that is working:
 

diff --git a/DisplayCAL/meta.py b/DisplayCAL/meta.py
index 00b9c82c..30797cdf 100644
--- a/DisplayCAL/meta.py
+++ b/DisplayCAL/meta.py
@@ -62,7 +62,7 @@
 name_html = '<span class="appname">Display<span>CAL</span></span>'
 
 py_minversion = (3, 8)
-py_maxversion = (3, 10)
+py_maxversion = (3, 11)
 
 version = VERSION_STRING
 version_lin = VERSION_STRING  # Linux