1
1
"""Debug functionality that allows for more useful issue reporting
2
2
"""
3
3
4
+ import platform
4
5
import sys
5
6
import traceback
6
7
import importlib
7
8
from typing import Tuple , Optional , Callable
8
9
10
+ from pygame .version import ver
11
+
9
12
ImportResult = Tuple [str , bool , Optional [Callable ]]
10
13
11
14
@@ -53,6 +56,24 @@ def attempt_import(module, function_name, output_str=""):
53
56
return (output_str , success , i )
54
57
55
58
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 \t Bits: { 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
+
56
77
def print_debug_info (filename = None ):
57
78
"""Gets debug information for reporting bugs. Prints to console
58
79
if filename is not specified, otherwise writes to that file
@@ -107,38 +128,7 @@ def default_return(linked=True):
107
128
else :
108
129
ft_version = freetype [1 ]
109
130
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 \t Bits: { 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 \t Display 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 \t Mixer 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 ()
142
132
143
133
debug_str += (
144
134
f"SDL versions:\t \t Linked: { str_from_tuple (get_sdl_version ())} \t "
@@ -162,9 +152,19 @@ def default_return(linked=True):
162
152
163
153
debug_str += (
164
154
f"Freetype versions:\t Linked: { 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 "
166
156
)
167
157
158
+ if display_init ():
159
+ debug_str += f"Display Driver:\t \t { get_display_driver ()} \n "
160
+ else :
161
+ debug_str += "Display Driver:\t \t Display 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 \t Mixer Not Initialized"
167
+
168
168
if filename is None :
169
169
print (debug_str )
170
170
0 commit comments