
    lh)                     ~   d Z ddlmZ ddlZddlZddlZddlZ	 ddlmZm	Z	 n# e
$ r dZY nw xY wddlmZmZmZ dZdZ d	j        e Zer~ ej                    Z e ej         ej        e                              Zej        Z ej        d
e          Zej        r e ej                              ZndZ e ej                              Z e d e!                                D                       Z" e ej#                              Z$e$r7 ej        de$          Z ej%         e&e'e!                                           Z( ej                    Z) ej*         ej        e)                     e)j        Z+ ej                    Z, ej-         ej        e,                     e,j        Z.d e/e.          z  Z0dev Z1[[[)[,ddZ2ddZ3ddZ4e e 5                    de          Z [e6dk    r e7ej8        dd                   Z9de9v sde9v r& e:de           	  e:e           dS # e;$ r Y dS w xY wde9v r e3            D ]Z< e:e<           dS de9v r e4            D ]Z= e:e=           dS de9v r6 e2            Z>e>D ]'Z? e:d                    e?e>e?                              (dS  e:e           dS dS )a  :mod:`wand.version` --- Version data
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can find the current version in the command line interface:

.. sourcecode:: console

   $ python -m wand.version
   0.0.0
   $ python -m wand.version --verbose
   Wand 0.0.0
   ImageMagick 6.7.7-6 2012-06-03 Q16 http://www.imagemagick.org
   $ python -m wand.version --config | grep CC | cut -d : -f 2
   gcc -std=gnu99 -std=gnu99
   $ python -m wand.version --fonts | grep Helvetica
   Helvetica
   Helvetica-Bold
   Helvetica-Light
   Helvetica-Narrow
   Helvetica-Oblique
   $ python -m wand.version --formats | grep CMYK
   CMYK
   CMYKA

.. versionadded:: 0.2.0
   The command line interface.

.. versionadded:: 0.2.2
   The ``--verbose``/``-v`` option which also prints ImageMagick library
   version for CLI.

.. versionadded:: 0.4.1
   The ``--fonts``, ``--formats``, & ``--config`` option allows printing
   additional information about ImageMagick library.

    )print_functionN   )	libmagicklibrary)binarystring_typetext)VERSIONVERSION_INFOMAGICK_VERSIONMAGICK_VERSION_DELEGATESMAGICK_VERSION_FEATURESMAGICK_VERSION_INFOMAGICK_VERSION_NUMBERMAGICK_RELEASE_DATEMAGICK_RELEASE_DATE_STRINGMAGICK_HDRIQUANTUM_DEPTHQUANTUM_RANGEQUANTUM_SCALEconfigure_optionsfontsformats)r         z{0}.{1}.{2}z-^ImageMagick\s+(\d+)\.(\d+)\.(\d+)(?:-(\d+))? c              #   8   K   | ]}t          |pd           V  dS )r   N)int).0vs     O/var/www/html/research.buxo.ca/env/lib/python3.11/site-packages/wand/version.py	<genexpr>r"   u   s,      EEAFEEEEEE    z^(\d{4})-?(\d\d)-?(\d\d)$g      ?HDRI*c                    t          | t                    st          dt          |           z             t	          j                     t          j        t          |                     }t          j	        d          }i }t	          j
        |t          j        |                    }t          |j                  D ]w}t          j        ||                   }t	          j        |          }|rEt!          t          j        |                    |t!          |          <   t	          j        |          }x|rt	          j        |          }|S )ap  
    Queries ImageMagick library for configurations options given at
    compile-time.

    Example: Find where the ImageMagick documents are installed::

        >>> from wand.version import configure_options
        >>> configure_options('DOC*')
        {'DOCUMENTATION_PATH': '/usr/local/share/doc/ImageMagick-6'}

    :param pattern: A term to filter queries against. Supports wildcard '*'
                    characters. Default patterns '*' for all options.
    :type pattern: :class:`basestring`
    :returns: Directory of configuration options matching given pattern
    :rtype: :class:`collections.defaultdict`
    pattern must be a string, not r   )
isinstancer   	TypeErrorreprr   MagickWandGenesisctypescreate_string_bufferr   c_size_tMagickQueryConfigureOptionsbyrefrangevalue	string_atMagickQueryConfigureOptionr	   MagickRelinquishMemory)pattern	pattern_pconfig_countconfigs	configs_pcursorconfigval_ps           r!   r   r      s%   " g{++ J84==HIII+F7OO<<I?1%%LG3I4:L4N4NP PI*++ : :!)F"34426:: 	:$()9%)@)@$A$AGDLL!2599E >29==	Nr#   c                 "   t          | t                    st          dt          |           z             t	          j                     t          j        t          |                     }t          j	        d          }g }t	          j
        |t          j        |                    }t          |j                  D ]>}t          j        ||                   }|                    t!          |                     ?|rt	          j        |          }|S )a  
    Queries ImageMagick library for available fonts.

    Available fonts can be configured by defining `types.xml`,
    `type-ghostscript.xml`, or `type-windows.xml`.
    Use :func:`wand.version.configure_options` to locate system search path,
    and `resources <http://www.imagemagick.org/script/resources.php>`_
    article for defining xml file.

    Example: List all bold Helvetica fonts::

        >>> from wand.version import fonts
        >>> fonts('*Helvetica*Bold*')
        ['Helvetica-Bold', 'Helvetica-Bold-Oblique', 'Helvetica-BoldOblique',
         'Helvetica-Narrow-Bold', 'Helvetica-Narrow-BoldOblique']


    :param pattern: A term to filter queries against. Supports wildcard '*'
                    characters. Default patterns '*' for all options.
    :type pattern: :class:`basestring`
    :returns: Sequence of matching fonts
    :rtype: :class:`collections.Sequence`
    r'   r   )r(   r   r)   r*   r   r+   r,   r-   r   r.   MagickQueryFontsr0   r1   r2   r3   appendr	   r5   )r6   r7   number_fontsr   fonts_pr;   fonts          r!   r   r      s    0 g{++ J84==HIII+F7OO<<I?1%%LE&y'-|L'A'AC CG*++ ! !00T$ZZ     :099Lr#   c                 "   t          | t                    st          dt          |           z             t	          j                     t          j        t          |                     }t          j	        d          }g }t	          j
        |t          j        |                    }t          |j                  D ]>}t          j        ||                   }|                    t!          |                     ?|rt	          j        |          }|S )a  
    Queries ImageMagick library for supported formats.

    Example: List supported PNG formats::

        >>> from wand.version import formats
        >>> formats('PNG*')
        ['PNG', 'PNG00', 'PNG8', 'PNG24', 'PNG32', 'PNG48', 'PNG64']


    :param pattern: A term to filter formats against. Supports wildcards '*'
                    characters. Default pattern '*' for all formats.
    :type pattern: :class:`basestring`
    :returns: Sequence of matching formats
    :rtype: :class:`collections.Sequence`
    r'   r   )r(   r   r)   r*   r   r+   r,   r-   r   r.   MagickQueryFormatsr0   r1   r2   r3   r@   r	   r5   )r6   r7   number_formatsr   	formats_pr;   r2   s          r!   r   r      s    " g{++ J84==HIII+F7OO<<I_Q''NG*9+1<+G+GI II,-- $ $ 6!233tE{{#### >29==	Nr#   z0.0.0__main__z-vz	--verboseWandz--fontsz	--formatsz--configz
{:24s}: {})r%   )@__doc__
__future__r   r,   datetimeresysapir   r   ImportErrorcompatr   r   r	   __all__r   formatr
   r.   c_magick_versionGetMagickVersionr0   r   r2   r   match_matchGetMagickDelegatesr   GetMagickFeaturesr   tuplegroupsr   GetMagickReleaseDater   datemapr   r   c_quantum_depthGetMagickQuantumDepthr   c_quantum_rangeGetMagickQuantumRanger   floatr   r   r   r   r   replace__name__	frozensetargvoptionsprint	NameErrorrC   supported_formatconfig_optionskey r#   r!   <module>ro      s  # #H & % % % % %   				 



'''''''''   III - - - - - - - - - -4  -

- ]C&v(( T"	"<6<0@#A#ABB N -2RXF$& &F # &#'4(D	(D(F(F#G#G  #%  #d#>9#>#@#@AA  %EEV]]__EEEEE "&&Di&D&F&F!G!G! H646 6 ,hmSSfmmoo-F-FG%fo''O#I#LFL$A$ABBB
 $)M%fo''O#I#LFL$A$ABBB
 $)M %%...M 33K&/?" " " "J& & & &R   D oogw//G zi%%Gw+00fg	E.!!!!! 	 	 	DD		g		EGG 	 	DE$KKKK	 				 '		 	$ 	$E"####	$ 	$	w		**,,! 	A 	ACE,%%c>#+>??@@@@	A 	A 	g' s   # --!H. .H76H7