Skip to content

Commit e29df14

Browse files
committed
refactor and improve print_debug_info
1 parent ca584d8 commit e29df14

File tree

1 file changed

+33
-33
lines changed

1 file changed

+33
-33
lines changed

src_py/_debug.py

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
"""Debug functionality that allows for more useful issue reporting
22
"""
33

4+
import platform
45
import sys
56
import traceback
67
import importlib
78
from typing import Tuple, Optional, Callable
89

10+
from pygame.version import ver
11+
912
ImportResult = Tuple[str, bool, Optional[Callable]]
1013

1114

@@ -53,6 +56,24 @@ def attempt_import(module, function_name, output_str=""):
5356
return (output_str, success, i)
5457

5558

59+
def _get_platform_info():
60+
"""
61+
Internal helper to get platform information
62+
"""
63+
ret = f"Platform:\t\t{platform.platform()}\n"
64+
ret += f"System:\t\t\t{platform.system()}\n"
65+
ret += f"System Version:\t\t{platform.version()}\n"
66+
ret += f"Processor:\t\t{platform.processor()}\n"
67+
ret += (
68+
f"Architecture:\t\tBits: {platform.architecture()[0]}\t"
69+
f"Linkage: {platform.architecture()[1]}\n\n"
70+
)
71+
72+
ret += f"Python:\t\t\t{platform.python_implementation()} {sys.version}\n"
73+
ret += f"pygame version:\t\t{ver}\n"
74+
return ret
75+
76+
5677
def print_debug_info(filename=None):
5778
"""Gets debug information for reporting bugs. Prints to console
5879
if filename is not specified, otherwise writes to that file
@@ -107,38 +128,7 @@ def default_return(linked=True):
107128
else:
108129
ft_version = freetype[1]
109130

110-
from pygame.version import ver
111-
112-
import platform
113-
114-
debug_str += f"Platform:\t\t{platform.platform()}\n"
115-
116-
debug_str += f"System:\t\t\t{platform.system()}\n"
117-
118-
debug_str += f"System Version:\t\t{platform.version()}\n"
119-
120-
debug_str += f"Processor:\t\t{platform.processor()}\n"
121-
122-
debug_str += (
123-
f"Architecture:\t\tBits: {platform.architecture()[0]}\t"
124-
f"Linkage: {platform.architecture()[1]}\n"
125-
)
126-
127-
if display_init():
128-
debug_str += f"Display Driver:\t\t\t{get_display_driver()}\n\n"
129-
else:
130-
debug_str += "Display Driver:\t\t\tDisplay Not Initialized\n\n"
131-
132-
if mixer_init():
133-
debug_str += f"Mixer Driver:\t\t\t{get_mixer_driver()}\n\n"
134-
else:
135-
debug_str += "Mixer Driver:\t\t\tMixer Not Initialized\n\n"
136-
137-
debug_str += f"Python:\t\t\t{platform.python_implementation()}\n"
138-
139-
debug_str += f"pygame version:\t\t{ver}\n"
140-
141-
debug_str += f"python version:\t\t{str_from_tuple(sys.version_info[0:3])}\n\n"
131+
debug_str += _get_platform_info()
142132

143133
debug_str += (
144134
f"SDL versions:\t\tLinked: {str_from_tuple(get_sdl_version())}\t"
@@ -162,9 +152,19 @@ def default_return(linked=True):
162152

163153
debug_str += (
164154
f"Freetype versions:\tLinked: {str_from_tuple(ft_version())}\t"
165-
f"Compiled: {str_from_tuple(ft_version(linked = False))}"
155+
f"Compiled: {str_from_tuple(ft_version(linked = False))}\n\n"
166156
)
167157

158+
if display_init():
159+
debug_str += f"Display Driver:\t\t{get_display_driver()}\n"
160+
else:
161+
debug_str += "Display Driver:\t\tDisplay Not Initialized\n"
162+
163+
if mixer_init():
164+
debug_str += f"Mixer Driver:\t\t{get_mixer_driver()}"
165+
else:
166+
debug_str += "Mixer Driver:\t\tMixer Not Initialized"
167+
168168
if filename is None:
169169
print(debug_str)
170170

0 commit comments

Comments
 (0)