Skip to content

Commit 64cb438

Browse files
committed
Remove obsolete mocks needed for doc generation.
The new doc generator can install tcod, so these mocks now just get in the way of maintenance.
1 parent d45b5a0 commit 64cb438

File tree

8 files changed

+78
-105
lines changed

8 files changed

+78
-105
lines changed

build_libtcod.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ def find_sdl_attrs(prefix: str) -> Iterator[tuple[str, int | str | Any]]:
248248
249249
`prefix` is used to filter out which names to copy.
250250
"""
251-
from tcod._libtcod import lib # type: ignore
251+
from tcod._libtcod import lib
252252

253253
if prefix.startswith("SDL_"):
254254
name_starts_at = 4

pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,9 @@ ignore_missing_imports = true
141141
module = "tcod.version"
142142
ignore_missing_imports = true
143143

144+
[[tool.mypy.overrides]]
145+
module = "tcod._libtcod"
146+
ignore_missing_imports = true
144147

145148
[tool.ruff]
146149
# https://beta.ruff.rs/docs/rules/

tcod/__init__.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,7 @@
1818
from tcod.constants import * # noqa: F403
1919
from tcod.libtcodpy import * # noqa: F403
2020
from tcod.loader import __sdl_version__, ffi, lib
21-
22-
try:
23-
from tcod.version import __version__
24-
except ImportError: # Gets imported without version.py by ReadTheDocs
25-
__version__ = ""
21+
from tcod.version import __version__
2622

2723

2824
def __getattr__(name: str, stacklevel: int = 1) -> color.Color:

tcod/loader.py

Lines changed: 6 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -57,34 +57,10 @@ def get_sdl_version() -> str:
5757
os.environ["PATH"] = f"""{Path(__file__).parent / get_architecture()}{os.pathsep}{os.environ["PATH"]}"""
5858

5959

60-
class _Mock:
61-
"""Mock object needed for ReadTheDocs."""
60+
verify_dependencies()
61+
from tcod._libtcod import ffi, lib # noqa
6262

63-
@staticmethod
64-
def def_extern() -> Any:
65-
"""Pass def_extern call silently."""
66-
return lambda func: func
67-
68-
def __getattr__(self, attr: str) -> None:
69-
"""Return None on any attribute."""
70-
71-
def __bool__(self) -> bool:
72-
"""Allow checking for this mock object at import time."""
73-
return False
74-
75-
76-
lib: Any = None
77-
ffi: Any = None
78-
79-
if os.environ.get("READTHEDOCS"):
80-
# Mock the lib and ffi objects needed to compile docs for readthedocs.io
81-
# Allows an import without building the cffi module first.
82-
lib = ffi = _Mock()
83-
else:
84-
verify_dependencies()
85-
from tcod._libtcod import ffi, lib # type: ignore
86-
87-
__sdl_version__ = get_sdl_version()
63+
__sdl_version__ = get_sdl_version()
8864

8965

9066
@ffi.def_extern() # type: ignore
@@ -96,8 +72,7 @@ def _libtcod_log_watcher(message: Any, userdata: None) -> None:
9672
logger.log(level, "%s:%d:%s", source, lineno, text)
9773

9874

99-
if lib:
100-
lib.TCOD_set_log_callback(lib._libtcod_log_watcher, ffi.NULL)
101-
lib.TCOD_set_log_level(0)
75+
lib.TCOD_set_log_callback(lib._libtcod_log_watcher, ffi.NULL)
76+
lib.TCOD_set_log_level(0)
10277

103-
__all__ = ["ffi", "lib"]
78+
__all__ = ["ffi", "lib", "__sdl_version__"]

tcod/sdl/_internal.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,6 @@ def _check_p(result: Any) -> Any:
8989
return result
9090

9191

92-
if lib._sdl_log_output_function:
93-
lib.SDL_LogSetOutputFunction(lib._sdl_log_output_function, ffi.NULL)
94-
if __debug__:
95-
lib.SDL_LogSetAllPriority(lib.SDL_LOG_PRIORITY_VERBOSE)
96-
97-
9892
def _compiled_version() -> tuple[int, int, int]:
9993
return int(lib.SDL_MAJOR_VERSION), int(lib.SDL_MINOR_VERSION), int(lib.SDL_PATCHLEVEL)
10094

@@ -124,3 +118,8 @@ def replacement(*_args: Any, **_kwargs: Any) -> Any:
124118
raise RuntimeError(msg)
125119

126120
return lambda x: replacement # type: ignore[return-value]
121+
122+
123+
lib.SDL_LogSetOutputFunction(lib._sdl_log_output_function, ffi.NULL)
124+
if __debug__:
125+
lib.SDL_LogSetAllPriority(lib.SDL_LOG_PRIORITY_VERBOSE)

tcod/sdl/joystick.py

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,69 +15,69 @@
1515
from tcod.sdl._internal import _check, _check_p
1616

1717
_HAT_DIRECTIONS: dict[int, tuple[Literal[-1, 0, 1], Literal[-1, 0, 1]]] = {
18-
lib.SDL_HAT_CENTERED or 0: (0, 0),
19-
lib.SDL_HAT_UP or 0: (0, -1),
20-
lib.SDL_HAT_RIGHT or 0: (1, 0),
21-
lib.SDL_HAT_DOWN or 0: (0, 1),
22-
lib.SDL_HAT_LEFT or 0: (-1, 0),
23-
lib.SDL_HAT_RIGHTUP or 0: (1, -1),
24-
lib.SDL_HAT_RIGHTDOWN or 0: (1, 1),
25-
lib.SDL_HAT_LEFTUP or 0: (-1, -1),
26-
lib.SDL_HAT_LEFTDOWN or 0: (-1, 1),
18+
int(lib.SDL_HAT_CENTERED): (0, 0),
19+
int(lib.SDL_HAT_UP): (0, -1),
20+
int(lib.SDL_HAT_RIGHT): (1, 0),
21+
int(lib.SDL_HAT_DOWN): (0, 1),
22+
int(lib.SDL_HAT_LEFT): (-1, 0),
23+
int(lib.SDL_HAT_RIGHTUP): (1, -1),
24+
int(lib.SDL_HAT_RIGHTDOWN): (1, 1),
25+
int(lib.SDL_HAT_LEFTUP): (-1, -1),
26+
int(lib.SDL_HAT_LEFTDOWN): (-1, 1),
2727
}
2828

2929

3030
class ControllerAxis(enum.IntEnum):
3131
"""The standard axes for a game controller."""
3232

33-
INVALID = lib.SDL_CONTROLLER_AXIS_INVALID or -1
34-
LEFTX = lib.SDL_CONTROLLER_AXIS_LEFTX or 0
33+
INVALID = int(lib.SDL_CONTROLLER_AXIS_INVALID)
34+
LEFTX = int(lib.SDL_CONTROLLER_AXIS_LEFTX)
3535
""""""
36-
LEFTY = lib.SDL_CONTROLLER_AXIS_LEFTY or 1
36+
LEFTY = int(lib.SDL_CONTROLLER_AXIS_LEFTY)
3737
""""""
38-
RIGHTX = lib.SDL_CONTROLLER_AXIS_RIGHTX or 2
38+
RIGHTX = int(lib.SDL_CONTROLLER_AXIS_RIGHTX)
3939
""""""
40-
RIGHTY = lib.SDL_CONTROLLER_AXIS_RIGHTY or 3
40+
RIGHTY = int(lib.SDL_CONTROLLER_AXIS_RIGHTY)
4141
""""""
42-
TRIGGERLEFT = lib.SDL_CONTROLLER_AXIS_TRIGGERLEFT or 4
42+
TRIGGERLEFT = int(lib.SDL_CONTROLLER_AXIS_TRIGGERLEFT)
4343
""""""
44-
TRIGGERRIGHT = lib.SDL_CONTROLLER_AXIS_TRIGGERRIGHT or 5
44+
TRIGGERRIGHT = int(lib.SDL_CONTROLLER_AXIS_TRIGGERRIGHT)
4545
""""""
4646

4747

4848
class ControllerButton(enum.IntEnum):
4949
"""The standard buttons for a game controller."""
5050

51-
INVALID = lib.SDL_CONTROLLER_BUTTON_INVALID or -1
52-
A = lib.SDL_CONTROLLER_BUTTON_A or 0
51+
INVALID = int(lib.SDL_CONTROLLER_BUTTON_INVALID)
52+
A = int(lib.SDL_CONTROLLER_BUTTON_A)
5353
""""""
54-
B = lib.SDL_CONTROLLER_BUTTON_B or 1
54+
B = int(lib.SDL_CONTROLLER_BUTTON_B)
5555
""""""
56-
X = lib.SDL_CONTROLLER_BUTTON_X or 2
56+
X = int(lib.SDL_CONTROLLER_BUTTON_X)
5757
""""""
58-
Y = lib.SDL_CONTROLLER_BUTTON_Y or 3
58+
Y = int(lib.SDL_CONTROLLER_BUTTON_Y)
5959
""""""
60-
BACK = lib.SDL_CONTROLLER_BUTTON_BACK or 4
60+
BACK = int(lib.SDL_CONTROLLER_BUTTON_BACK)
6161
""""""
62-
GUIDE = lib.SDL_CONTROLLER_BUTTON_GUIDE or 5
62+
GUIDE = int(lib.SDL_CONTROLLER_BUTTON_GUIDE)
6363
""""""
64-
START = lib.SDL_CONTROLLER_BUTTON_START or 6
64+
START = int(lib.SDL_CONTROLLER_BUTTON_START)
6565
""""""
66-
LEFTSTICK = lib.SDL_CONTROLLER_BUTTON_LEFTSTICK or 7
66+
LEFTSTICK = int(lib.SDL_CONTROLLER_BUTTON_LEFTSTICK)
6767
""""""
68-
RIGHTSTICK = lib.SDL_CONTROLLER_BUTTON_RIGHTSTICK or 8
68+
RIGHTSTICK = int(lib.SDL_CONTROLLER_BUTTON_RIGHTSTICK)
6969
""""""
70-
LEFTSHOULDER = lib.SDL_CONTROLLER_BUTTON_LEFTSHOULDER or 9
70+
LEFTSHOULDER = int(lib.SDL_CONTROLLER_BUTTON_LEFTSHOULDER)
7171
""""""
72-
RIGHTSHOULDER = lib.SDL_CONTROLLER_BUTTON_RIGHTSHOULDER or 10
72+
RIGHTSHOULDER = int(lib.SDL_CONTROLLER_BUTTON_RIGHTSHOULDER)
7373
""""""
74-
DPAD_UP = lib.SDL_CONTROLLER_BUTTON_DPAD_UP or 11
74+
DPAD_UP = int(lib.SDL_CONTROLLER_BUTTON_DPAD_UP)
7575
""""""
76-
DPAD_DOWN = lib.SDL_CONTROLLER_BUTTON_DPAD_DOWN or 12
76+
DPAD_DOWN = int(lib.SDL_CONTROLLER_BUTTON_DPAD_DOWN)
7777
""""""
78-
DPAD_LEFT = lib.SDL_CONTROLLER_BUTTON_DPAD_LEFT or 13
78+
DPAD_LEFT = int(lib.SDL_CONTROLLER_BUTTON_DPAD_LEFT)
7979
""""""
80-
DPAD_RIGHT = lib.SDL_CONTROLLER_BUTTON_DPAD_RIGHT or 14
80+
DPAD_RIGHT = int(lib.SDL_CONTROLLER_BUTTON_DPAD_RIGHT)
8181
""""""
8282
MISC1 = 15
8383
""""""
@@ -100,19 +100,19 @@ class Power(enum.IntEnum):
100100
:any:`Joystick.get_current_power`
101101
"""
102102

103-
UNKNOWN = lib.SDL_JOYSTICK_POWER_UNKNOWN or -1
103+
UNKNOWN = int(lib.SDL_JOYSTICK_POWER_UNKNOWN)
104104
"""Power state is unknown."""
105-
EMPTY = lib.SDL_JOYSTICK_POWER_EMPTY or 0
105+
EMPTY = int(lib.SDL_JOYSTICK_POWER_EMPTY)
106106
"""<= 5% power."""
107-
LOW = lib.SDL_JOYSTICK_POWER_LOW or 1
107+
LOW = int(lib.SDL_JOYSTICK_POWER_LOW)
108108
"""<= 20% power."""
109-
MEDIUM = lib.SDL_JOYSTICK_POWER_MEDIUM or 2
109+
MEDIUM = int(lib.SDL_JOYSTICK_POWER_MEDIUM)
110110
"""<= 70% power."""
111-
FULL = lib.SDL_JOYSTICK_POWER_FULL or 3
111+
FULL = int(lib.SDL_JOYSTICK_POWER_FULL)
112112
"""<= 100% power."""
113-
WIRED = lib.SDL_JOYSTICK_POWER_WIRED or 4
113+
WIRED = int(lib.SDL_JOYSTICK_POWER_WIRED)
114114
""""""
115-
MAX = lib.SDL_JOYSTICK_POWER_MAX or 5
115+
MAX = int(lib.SDL_JOYSTICK_POWER_MAX)
116116
""""""
117117

118118

tcod/sdl/sys.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class Subsystem(enum.IntFlag):
1717
GAMECONTROLLER = 0x00002000
1818
EVENTS = 0x00004000
1919
SENSOR = 0x00008000
20-
EVERYTHING = lib.SDL_INIT_EVERYTHING or 0
20+
EVERYTHING = int(lib.SDL_INIT_EVERYTHING)
2121

2222

2323
def init(flags: int = Subsystem.EVERYTHING) -> None:

tcod/sdl/video.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -35,49 +35,49 @@ class WindowFlags(enum.IntFlag):
3535
https://wiki.libsdl.org/SDL_WindowFlags
3636
"""
3737

38-
FULLSCREEN = lib.SDL_WINDOW_FULLSCREEN or 0
38+
FULLSCREEN = int(lib.SDL_WINDOW_FULLSCREEN)
3939
""""""
40-
FULLSCREEN_DESKTOP = lib.SDL_WINDOW_FULLSCREEN_DESKTOP or 0
40+
FULLSCREEN_DESKTOP = int(lib.SDL_WINDOW_FULLSCREEN_DESKTOP)
4141
""""""
42-
OPENGL = lib.SDL_WINDOW_OPENGL or 0
42+
OPENGL = int(lib.SDL_WINDOW_OPENGL)
4343
""""""
44-
SHOWN = lib.SDL_WINDOW_SHOWN or 0
44+
SHOWN = int(lib.SDL_WINDOW_SHOWN)
4545
""""""
46-
HIDDEN = lib.SDL_WINDOW_HIDDEN or 0
46+
HIDDEN = int(lib.SDL_WINDOW_HIDDEN)
4747
""""""
48-
BORDERLESS = lib.SDL_WINDOW_BORDERLESS or 0
48+
BORDERLESS = int(lib.SDL_WINDOW_BORDERLESS)
4949
""""""
50-
RESIZABLE = lib.SDL_WINDOW_RESIZABLE or 0
50+
RESIZABLE = int(lib.SDL_WINDOW_RESIZABLE)
5151
""""""
52-
MINIMIZED = lib.SDL_WINDOW_MINIMIZED or 0
52+
MINIMIZED = int(lib.SDL_WINDOW_MINIMIZED)
5353
""""""
54-
MAXIMIZED = lib.SDL_WINDOW_MAXIMIZED or 0
54+
MAXIMIZED = int(lib.SDL_WINDOW_MAXIMIZED)
5555
""""""
56-
MOUSE_GRABBED = lib.SDL_WINDOW_INPUT_GRABBED or 0
56+
MOUSE_GRABBED = int(lib.SDL_WINDOW_INPUT_GRABBED)
5757
""""""
58-
INPUT_FOCUS = lib.SDL_WINDOW_INPUT_FOCUS or 0
58+
INPUT_FOCUS = int(lib.SDL_WINDOW_INPUT_FOCUS)
5959
""""""
60-
MOUSE_FOCUS = lib.SDL_WINDOW_MOUSE_FOCUS or 0
60+
MOUSE_FOCUS = int(lib.SDL_WINDOW_MOUSE_FOCUS)
6161
""""""
62-
FOREIGN = lib.SDL_WINDOW_FOREIGN or 0
62+
FOREIGN = int(lib.SDL_WINDOW_FOREIGN)
6363
""""""
64-
ALLOW_HIGHDPI = lib.SDL_WINDOW_ALLOW_HIGHDPI or 0
64+
ALLOW_HIGHDPI = int(lib.SDL_WINDOW_ALLOW_HIGHDPI)
6565
""""""
66-
MOUSE_CAPTURE = lib.SDL_WINDOW_MOUSE_CAPTURE or 0
66+
MOUSE_CAPTURE = int(lib.SDL_WINDOW_MOUSE_CAPTURE)
6767
""""""
68-
ALWAYS_ON_TOP = lib.SDL_WINDOW_ALWAYS_ON_TOP or 0
68+
ALWAYS_ON_TOP = int(lib.SDL_WINDOW_ALWAYS_ON_TOP)
6969
""""""
70-
SKIP_TASKBAR = lib.SDL_WINDOW_SKIP_TASKBAR or 0
70+
SKIP_TASKBAR = int(lib.SDL_WINDOW_SKIP_TASKBAR)
7171
""""""
72-
UTILITY = lib.SDL_WINDOW_UTILITY or 0
72+
UTILITY = int(lib.SDL_WINDOW_UTILITY)
7373
""""""
74-
TOOLTIP = lib.SDL_WINDOW_TOOLTIP or 0
74+
TOOLTIP = int(lib.SDL_WINDOW_TOOLTIP)
7575
""""""
76-
POPUP_MENU = lib.SDL_WINDOW_POPUP_MENU or 0
76+
POPUP_MENU = int(lib.SDL_WINDOW_POPUP_MENU)
7777
""""""
78-
VULKAN = lib.SDL_WINDOW_VULKAN or 0
78+
VULKAN = int(lib.SDL_WINDOW_VULKAN)
7979
""""""
80-
METAL = getattr(lib, "SDL_WINDOW_METAL", None) or 0x20000000 # SDL >= 2.0.14
80+
METAL = int(getattr(lib, "SDL_WINDOW_METAL", 0x20000000)) # SDL >= 2.0.14
8181
""""""
8282

8383

0 commit comments

Comments
 (0)