
    \
j                         d Z dad Zd Zd Zd Zd ZddZd	 Zd
 Z	d Z
d Zd Zd Zd Zd Zedk    r e             dS dS )zGet environment information useful for debugging.

Intended usage is to create a file for bug reports, e.g.::

    python -m pyglet.info > info.txt

Tc                 r    t           st                       nda t          |            t          d           d S )NFzN------------------------------------------------------------------------------)_first_headingprint)headings    E/DATA/AppData/hermes/venv/lib/python3.11/site-packages/pyglet/info.py_headingr   /   s4     	'NNN	(OOOOO    c                      ddl } t          d|                                             t          d|                                            t          d|                                            dS )zDump OS specific     Nz
platform: z
release:  z
machine:  )platformr   releasemachine)r   s    r   dump_platformr   9   se    OOO	,))++,,,	,((**+++	,((**+++++r   c                     ddl } ddl}ddl}t          d|                                           t          d|j                   t          d|j                   |j        dk    r.	 ddlm} t          d|           n#  t          d	           Y nxY wt          d
| 	                                           | j
                                        D ]/\  }}|                    d          rt          d|d|           0dS )z.Dump Python version and environment to stdout.r
   Nzimplementation:zsys.version:zsys.maxint:darwin)__version__zobjc.__version__:zPyObjC not availablezos.getcwd():PYGLET_zos.environ['z']: )ossysr   r   python_implementationversionmaxsizeobjcr   getcwdenvironitems
startswith)r   r   r   pyobjc_versionkeyvalues         r   dump_pythonr    A   s'   IIIJJJOOO	
X;;==>>>	.#+&&&	-%%%
|x	*::::::%~6666	*()))))	."))++&&&j&&(( 9 9
U>>)$$ 	9ECCC78889 9s   %A< <Bc                      ddl } t          d| j                   t          d| j                   t          d| j                   | j                                        D ]\  }}t          d|d|           dS )z Dump pyglet version and options.r
   Nzpyglet.version:zpyglet.compat_platform:zpyglet.__file__:zpyglet.options[''] = )pygletr   r   compat_platform__file__optionsr   )r#   r   r   s      r   dump_pygletr'   U   s    MMM	
V^,,,	
#V%;<<<	
fo...n**,, : :
USSS%%89999: :r   c                  D   ddl } | j                                        }t          dt	          |                     |                                }t          |          D ]\  }}t          d||fz             | j                            d          }|j	        
                                D ]\  }}t          d|d|           t          d	t	          |j                             t          d
           t          |j                   |                                 dS )z5Dump display, window, screen and default config info.r
   Nzdisplay:zscreens[%d]: %rFvisiblezconfig['r"   zcontext:zwindow.context._info)pyglet.windowcanvasget_displayr   reprget_screens	enumeratewindowWindowconfigget_gl_attributescontextr   dump_glclose)r#   displayscreensiscreenr1   r   r   s           r   dump_windowr<   _   s   m''))G	*d7mm$$$!!##Gw'' / /	61f+-....]!!%!00Fm5577 2 2
USSS%%01111	*d6>**+++#$$$FN
LLNNNNNr   Nc                    | |                                  }nddlm} t          d|                                           t          d|                                           t          d|                                           t          d           t          |                                          }|	                                 |D ]}t          d|           dS )	zDump GL info.Nr
   )gl_infozgl_info.get_version():zgl_info.get_vendor():zgl_info.get_renderer():zgl_info.get_extensions():  )
get_info	pyglet.glr>   r   get_version
get_vendorget_rendererlistget_extensionssort)r5   info
extensionsnames       r   r6   r6   q   s    !!------	
"D$4$4$6$6777	
!4??#4#4555	
#T%6%6%8%8999	
%&&&d))++,,JOO  dD r   c                     ddl m}  t          d|                                            t          d           t	          |                                           }|                                 |D ]}t          d|           dS )zDump GLU info.r
   )glu_infozglu_info.get_version():zglu_info.get_extensions():r?   N)rA   rL   r   rB   rE   rF   rG   )rL   rI   rJ   s      r   dump_glurM      s    """"""	
#X%9%9%;%;<<<	
&'''h--//00JOO  dD r   c                     	 ddl m}  n#  t          d           Y dS xY wddl}|j                            d          }t          d|j                                                   |                                 | 	                    dd          st          d	           dS t          d
| 
                                           t          d|                                            t          d           |                                 D ]}t          d|           t          d|                                            t          d|                                            t          d           |                                 D ]}t          d|           t          d           |                                 D ]}t          d|           dS )zDump GLX info.r
   )glx_infozGLX not available.NFr)   zcontext.is_direct():   zVersion: < 1.1zglx_info.get_server_vendor():zglx_info.get_server_version():z!glx_info.get_server_extensions():r?   zglx_info.get_client_vendor():zglx_info.get_client_version():z!glx_info.get_client_extensions():zglx_info.get_extensions():)rA   rO   r   r#   r1   r2   r5   	is_directr7   have_versionget_server_vendorget_server_versionget_server_extensionsget_client_vendorget_client_versionget_client_extensionsrF   )rO   r#   r1   rJ   s       r   dump_glxrY      s   &&&&&&&"###MMM]!!%!00F	
 &.":":"<"<===
LLNNN  A&& -x/I/I/K/KLLL.0K0K0M0MNNN12222244 	 	D$-x/I/I/K/KLLL.0K0K0M0MNNN12222244 	 	D$*+++++-- 	 	D$	 	   	 c                  \    ddl } t          d| j                                                   dS )zDump pyglet.media info.r
   Nzaudio driver:)pyglet.mediar   mediaget_audio_driver)r#   s    r   
dump_mediar_      s2    	/6<88::;;;;;r   c                      ddl } d| j        d<   ddl} | j                                        r ddlm} t          d |                       dS t          d           dS )zDump FFmpeg info.r
   NTsearch_local_libs)rB   zFFmpeg version:zFFmpeg not available.)r#   r&   r\   r]   have_ffmpegpyglet.media.codecs.ffmpegrB   r   )r#   rB   s     r   dump_ffmpegrd      s~    MMM*.FN&'|!! ':::::://///%&&&&&r   c                  ^   	 ddl m}  n#  t          d           Y dS xY wt          d| j        j                   |                                 }t           dj        |                                            t          d           |                                D ]}t          d|           dS )	zDump OpenAL info.r
   )openalzOpenAL not available.NzLibrary:zVersion: {}.{}zExtensions:r?   )	pyglet.media.driversrf   r   
lib_openal_libcreate_audio_driverformatrB   rF   )rf   driver	extensions      r   dump_alrn      s    ///////%&&&	*f',---''))F	
!

!6#5#5#7#7
8999	-**,,  	dI rZ   c            	         	 ddl m}  n#  t          d           Y dS xY w|                                 }|                                 }|                                 }t          d||dz	  |dz  |dz	  |dz  fz             dS )zDump WinTab info.r
   )wintabzWinTab not available.NzWinTab: %s %d.%d (Spec %d.%d)      )pyglet.inputrp   r   get_interface_nameget_implementation_versionget_spec_version)rp   interface_nameimpl_versionspec_versions       r   dump_wintabrz      s    '''''''%&&&..00N4466L**,,L	
)^-9Q->t@S-9Q->t@S-U U V V V V VrZ   c                 z    t          |            	  |             d S #  dd l}|                                 Y d S xY w)Nr
   )r   	traceback	print_exc)r   funcr|   s      r   	_try_dumpr      sT    Ws   
 :c                     t          dt                     t          dt                     t          dt                     t          dt                     t          dt
                     t          dt                     t          dt                     t          dt                     t          d	t                     t          d
t                     dS )zDump all information to stdout.PlatformPythonr#   zpyglet.windowzpyglet.gl.glu_infozpyglet.gl.glx_infozpyglet.mediazpyglet.media.ffmpegzpyglet.media.drivers.openalzpyglet.input.wintabN)r   r   r    r'   r<   rM   rY   r_   rd   rn   rz    r   r   dumpr      s    j-(((h$$$h$$$o{+++"H---"H---nj)))#[111+W555#[11111r   __main__)N)__doc__r   r   r   r    r'   r<   r6   rM   rY   r_   rd   rn   rz   r   r   __name__r   r   r   <module>r      s  H    , , ,9 9 9(: : :  $        << < <
' 
' 
'   V V V"  2 2 2 zDFFFFF r   