
    ^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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    F/home/agentuser/manim-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      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       s+   IIIJJJOOO	
X;;==>>>	.#+&&&	-%%%
|x	*::::::%~6666	*()))))	."))++&&&j&&(( 3 3
U>>)$$ 	3111%112223 3s   %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'   2   s    MMM	
V^,,,	
#V%;<<<	
fo...n**,, 6 6
U44454455556 6r   c                     ddl m}  |                     d          s&t          d|                                             dS ddl}|j                                        }t          dt          |                     |	                                }t          |          D ]\  }}t          d| d|           |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
   gl_info   zInsufficient OpenGL version: Nzdisplay:zscreens[z]: Fvisiblezconfig['r"   zcontext:zwindow.context._info)	pyglet.glr*   have_versionr   get_version_stringpyglet.windowdisplayget_displayreprget_screens	enumeratewindowWindowconfigget_gl_attributescontextr   dump_glclose)	r*   r#   r2   screensiscreenr7   r   r   s	            r   dump_windowrA   <   sz   !!!!!!"" Lg.H.H.J.JLLMMMn((**G	*d7mm$$$!!##Gw'' + +	6)))v))****]!!%!00Fm5577 . .
U,,,5,,----	*d6>**+++#$$$FN
LLNNNNNr   Nc                    | |                                  }nddlm} t          d|                                           t          d|                                           t          d|                                           dS )zDump GL info.Nr
   r)   zgl_info.get_version():zgl_info.get_vendor():zgl_info.get_renderer():)get_infor.   r*   r   get_version
get_vendorget_renderer)r;   infos     r   r<   r<   R   s    !!------	
"D$4$4$6$6777	
!4??#4#4555	
#T%6%6%8%899999r   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():  zglx_info.get_client_vendor():zglx_info.get_client_version():z!glx_info.get_client_extensions():zglx_info.get_extensions():)r.   rI   r   r#   r7   r8   r;   	is_directr=   r/   get_server_vendorget_server_versionget_server_extensionsget_client_vendorget_client_versionget_client_extensionsget_extensions)rI   r#   r7   names       r   dump_glxrU   ]   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)rD   zFFmpeg version:zFFmpeg not available.)r#   r&   rX   rY   have_ffmpegpyglet.media.codecs.ffmpegrD   r   )r#   rD   s     r   dump_ffmpegr`      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:rK   )	pyglet.media.driversrb   r   
lib_openal_libcreate_audio_driverformatrD   rS   )rb   driver	extensions      r   dump_alrj      s    ///////%&&&	*f',---''))F	
!

!6#5#5#7#7
8999	-**,,  	dI rV   c            
          	 ddl m}  n#  t          d           Y dS xY w|                                 }|                                 }|                                 }t          d                    ||dz	  |dz  |dz	  |dz                       dS )zDump WinTab info.r
   )wintabzWinTab not available.Nz"WinTab: {0} {1}.{2} (Spec {3}.{4})      )pyglet.input.win32rl   r   get_interface_nameget_implementation_versionget_spec_versionrg   )rl   interface_nameimpl_versionspec_versions       r   dump_wintabrv      s    -------%&&&..00N4466L**,,L	
.
5
5n6Ba6GX\I\6Ba6GX\I\^ ^ _ _ _ _ _rV   c                 z    t          |            	  |             d S #  dd l}|                                 Y d S xY w)Nr
   )r   	traceback	print_exc)r   funcrx   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                     d
S )zDump all information to stdout.PlatformPythonr#   zpyglet.windowzpyglet.gl.glx_infozpyglet.mediazpyglet.media.ffmpegzpyglet.media.drivers.openalzpyglet.input.wintabN)
r{   r   r    r'   rA   rU   r[   r`   rj   rv    r   r   dumpr      s    j-(((h$$$h$$$o{+++"H---nj)))#[111+W555#[11111r   __main__)N)__doc__r   r   r   r    r'   rA   r<   rU   r[   r`   rj   rv   r{   r   __name__r   r   r   <module>r      s      , , ,3 3 3(6 6 6  ,: : : :  << < <
' 
' 
'   _ _ _"  
2 
2 
2 zDFFFFF r   