Skip to content

Commit cfe63a0

Browse files
committed
Map built-in Python exceptions to D-Bus errors
1 parent 4533f11 commit cfe63a0

File tree

1 file changed

+96
-1
lines changed

1 file changed

+96
-1
lines changed

src/sdbus/dbus_exceptions.py

Lines changed: 96 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@
2121

2222
from typing import Any, Dict, Tuple, cast
2323

24-
from .sd_bus_internals import SdBusBaseError, add_exception_mapping
24+
from .sd_bus_internals import (
25+
SdBusBaseError,
26+
add_exception_mapping,
27+
map_exception_to_dbus_error)
2528

2629

2730
class DbusErrorMeta(type):
@@ -166,3 +169,95 @@ class DbusMatchRuleInvalidError(DbusFailedError):
166169
class DbusInteractiveAuthorizationRequiredError(DbusFailedError):
167170
dbus_error_name = ('org.freedesktop.DBus.Error'
168171
'.InteractiveAuthorizationRequired')
172+
173+
174+
map_exception_to_dbus_error(AssertionError,
175+
"org.python.Error.AssertionError")
176+
map_exception_to_dbus_error(AttributeError,
177+
"org.python.Error.AttributeError")
178+
map_exception_to_dbus_error(EOFError,
179+
"org.python.Error.EOFError")
180+
map_exception_to_dbus_error(ImportError,
181+
"org.python.Error.ImportError")
182+
map_exception_to_dbus_error(ModuleNotFoundError,
183+
"org.python.Error.ModuleNotFoundError")
184+
map_exception_to_dbus_error(IndexError,
185+
"org.python.Error.IndexError")
186+
map_exception_to_dbus_error(KeyError,
187+
"org.python.Error.KeyError")
188+
map_exception_to_dbus_error(NameError,
189+
"org.python.Error.NameError")
190+
map_exception_to_dbus_error(NotImplementedError,
191+
"org.python.Error.NotImplementedError")
192+
map_exception_to_dbus_error(OSError,
193+
"org.python.Error.OSError")
194+
map_exception_to_dbus_error(RecursionError,
195+
"org.python.Error.RecursionError")
196+
map_exception_to_dbus_error(ReferenceError,
197+
"org.python.Error.ReferenceError")
198+
map_exception_to_dbus_error(RuntimeError,
199+
"org.python.Error.RuntimeError")
200+
map_exception_to_dbus_error(SyntaxError,
201+
"org.python.Error.SyntaxError")
202+
map_exception_to_dbus_error(IndentationError,
203+
"org.python.Error.IndentationError")
204+
map_exception_to_dbus_error(TabError,
205+
"org.python.Error.TabError")
206+
map_exception_to_dbus_error(SystemError,
207+
"org.python.Error.SystemError")
208+
map_exception_to_dbus_error(TypeError,
209+
"org.python.Error.TypeError")
210+
map_exception_to_dbus_error(UnboundLocalError,
211+
"org.python.Error.UnboundLocalError")
212+
map_exception_to_dbus_error(UnicodeError,
213+
"org.python.Error.UnicodeError")
214+
map_exception_to_dbus_error(UnicodeEncodeError,
215+
"org.python.Error.UnicodeEncodeError")
216+
map_exception_to_dbus_error(UnicodeDecodeError,
217+
"org.python.Error.UnicodeDecodeError")
218+
map_exception_to_dbus_error(UnicodeTranslateError,
219+
"org.python.Error.UnicodeTranslateError")
220+
map_exception_to_dbus_error(ValueError,
221+
"org.python.Error.ValueError")
222+
map_exception_to_dbus_error(EnvironmentError,
223+
"org.python.Error.EnvironmentError")
224+
map_exception_to_dbus_error(IOError,
225+
"org.python.Error.IOError")
226+
map_exception_to_dbus_error(BlockingIOError,
227+
"org.python.Error.BlockingIOError")
228+
map_exception_to_dbus_error(ChildProcessError,
229+
"org.python.Error.ChildProcessError")
230+
map_exception_to_dbus_error(ConnectionError,
231+
"org.python.Error.ConnectionError")
232+
map_exception_to_dbus_error(BrokenPipeError,
233+
"org.python.Error.BrokenPipeError")
234+
map_exception_to_dbus_error(ConnectionAbortedError,
235+
"org.python.Error.ConnectionAbortedError")
236+
map_exception_to_dbus_error(ConnectionRefusedError,
237+
"org.python.Error.ConnectionRefusedError")
238+
map_exception_to_dbus_error(ConnectionResetError,
239+
"org.python.Error.ConnectionResetError")
240+
map_exception_to_dbus_error(FileExistsError,
241+
"org.python.Error.FileExistsError")
242+
map_exception_to_dbus_error(FileNotFoundError,
243+
"org.python.Error.FileNotFoundError")
244+
map_exception_to_dbus_error(InterruptedError,
245+
"org.python.Error.InterruptedError")
246+
map_exception_to_dbus_error(IsADirectoryError,
247+
"org.python.Error.IsADirectoryError")
248+
map_exception_to_dbus_error(NotADirectoryError,
249+
"org.python.Error.NotADirectoryError")
250+
map_exception_to_dbus_error(PermissionError,
251+
"org.python.Error.PermissionError")
252+
map_exception_to_dbus_error(ProcessLookupError,
253+
"org.python.Error.ProcessLookupError")
254+
map_exception_to_dbus_error(TimeoutError,
255+
"org.python.Error.TimeoutError")
256+
map_exception_to_dbus_error(ArithmeticError,
257+
"org.python.Error.ArithmeticError")
258+
map_exception_to_dbus_error(FloatingPointError,
259+
"org.python.Error.FloatingPointError")
260+
map_exception_to_dbus_error(OverflowError,
261+
"org.python.Error.OverflowError")
262+
map_exception_to_dbus_error(ZeroDivisionError,
263+
"org.python.Error.ZeroDivisionError")

0 commit comments

Comments
 (0)