
    g
ff                     6    d Z dZdZdZdZdZdZ G d de      Zy	)
zACSS --- Aural CSS.

Class ACSS defines a simple wrapper for holding ACSS voice
definitions.  Speech engines implement the code for converting
ACSS definitions into engine-specific markup codes.

z$Id$zT. V. Ramanz
$Revision$z$Date$z#Copyright (c) 2005-2008 Google Inc.LGPLc                        e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zed
edededede	de
dediZddZd Zd Zd Zd Zd Zd Z fdZ xZS )ACSSz%Holds ACSS representation of a voice.familyrategainzaverage-pitchzpitch-rangestressrichnesspunctuationsN2   
      allc                    t         j                  |        |xs i }|rg|D ]a  }|dk(  s|t        j                  v s|t        j                  k(  r,i | |<   ||   j                         D ]  }||   |   | |   |<    Z||   | |<   c yd| d<   y)z%Create and initialize ACSS structure.establishedFN)dict__init__r   settingsFAMILYkeys)selfpropskjs       +/usr/lib/python3/dist-packages/orca/acss.pyr   zACSS.__init__>   s    d +%dmm); DKK'"$Q!&q 5A).q!DGAJ5 #((Q+ #(D    c                    t        |t              sy| j                  t        j                        |j                  t        j                        k7  ry| j                  t        j                        |j                  t        j                        k7  ry| j                  t        j
                        |j                  t        j
                        k7  ryy)NFT)
isinstancer   getr   RATEAVERAGE_PITCH)r   others     r   __eq__zACSS.__eq__S   s    %&88DKK EIIdkk$::88DII%))DII"6688D&&'599T5G5G+HHr   c                 2    t         j                  | ||       y)z"Update name when we change values.N)r   __setitem__)r   keyvalues      r   r$   zACSS.__setitem__^   s    sE*r   c                 0    t         j                  | |       y)zUpdate name if we delete a key.N)r   __delitem__)r   r%   s     r   r(   zACSS.__delitem__b   s    s#r   c                     d}t        | j                               }|r%|j                          |D ]  }|| d| |    dz  } |d d }|S )Nzacss--:)listr   sort)r   _namenamesr   s       r   namez	ACSS.namef   s]    TYY[!JJL +A3aQy**+cr
r   c                 d    | j                  t        j                  i       }|j                  d      S )Nlocaler   r   r   r   r   s     r   	getLocalezACSS.getLocalep   s%    $++r*zz(##r   c                 d    | j                  t        j                  i       }|j                  d      S )Ndialectr4   r5   s     r   
getDialectzACSS.getDialectt   s%    $++r*zz)$$r   c                     |j                  t        j                        }t        |t              r0|j                  d      |j                  t        j                         t        |   |      S )Nr1   )r   r   r   r   r   popsuperupdate)r   newDictr   	__class__s      r   r=   zACSS.updatex   sL    T[[)fd#

6(:(BKK$w~g&&r   )N)__name__
__module____qualname____doc__r   r   GAINr    PITCH_RANGESTRESSRICHNESSPUNCTUATIONSr   r   r"   r$   r(   r1   r6   r9   r=   __classcell__)r?   s   @r   r   r   $   s    /FDD#M!KFH"L
 		H(*	+$$%' 'r   r   N)	rC   __id__
__author____version____date____copyright____license__r   r    r   r   <module>rQ      s8   * 

5Y'4 Y'r   