Mini Shell
3
�p5[� � @ s: d Z dZdZdZdZdZddlZddlZddl Zddl
ZddlZdd lmZ dd
lm
Z
ddlmZ ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ G dd� d�Ze� gZG dd� d�Ze� gZdZdZdZdZdZdZdZeej eej!eej"eej#eej#eej#iZ$ej%� Z&G dd� dej'�Z(dS )z6Utilities for obtaining speech utterances for objects.z$Id:$z$Revision:$z$Date:$z-Copyright (c) 2005-2009 Sun Microsystems Inc.ZLGPL� N� )�chnames)�debug)� generator)�messages)�object_properties)�settings)�settings_manager)�text_attribute_names)�acssc @ s e Zd ZdZdd� ZdS )�PausezJA dummy class to indicate we want to insert a pause into an
utterance.c C s d S )N� )�selfr
r
�&/usr/lib/python3.6/speech_generator.py�__init__, s zPause.__init__N)�__name__�
__module__�__qualname__�__doc__r r
r
r
r r ) s r c @ s e Zd ZdZdd� ZdS )� LineBreakzYA dummy class to indicate we want to break an utterance into
separate calls to speak.c C s d S )Nr
)r r
r
r r 4 s zLineBreak.__init__N)r r r r r r
r
r
r r 1 s r Z _generate�defaultZ uppercaseZ hyperlink�system�state�valuec s� e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Z� fd,d-�Zd.d/� Zd0d1� Zd2d3� Zd4d5� Z� fd6d7�Zd8d9� Zd:d;� Z d<d=� Z!d>d?� Z"d@dA� Z#dBdC� Z$dDdE� Z%dFdG� Z&� fdHdI�Z'� fdJdK�Z(dLdM� Z)dNdO� Z*dPdQ� Z+dRdS� Z,dTdU� Z-dVdW� Z.dXdY� Z/dZd[� Z0d\d]� Z1d^d_� Z2d`dadbgfdcdd�Z3dedf� Z4dgdh� Z5didj� Z6dkdl� Z7dmdn� Z8� fdodp�Z9dqdr� Z:dsdt� Z;dudv� Z<dwdx� Z=dydz� Z>d{d|� Z?d}d~� Z@dd�� ZAd�d�� ZBd�d�� ZCd�d�� ZDd�d�� ZEd�d�� ZFd�d�� ZGd�d�� ZHd�d�� ZId�d�� ZJd�d�� ZKd�d�� ZLd�d�� ZMd�d�� ZNd�d�� ZOd�d�� ZP� fd�d��ZQ� fd�d��ZRd�d�� ZSd�d�� ZTd�d�� ZUd�d�� ZVd�d�� ZWd�d�� ZXd�d�� ZYd�d�� ZZd�d�� Z[d�d�� Z\d�d�� Z]d�d�� Z^d�d�� Z_d�d�� Z`d�d�� Zad�d Zbd�dĄ Zcd�dƄ Zdd�dȄ Zed�dʄ Zfd�d̄ Zgd�d΄ Zhd�dЄ Zid�d҄ Zjd�dԄ Zkd�dք Zld�d Zmd�dڄ Znd�d܄ Zod�dބ Zpd�d� Zqd�d� Zrd�d� Zsd�d� Ztd�d� Zud�d� Zvd�d� Zwd�d�d�Zx� ZyS )��SpeechGeneratorz�Takes accessible objects and produces a string to speak for
those objects. See the generateSpeech method, which is the primary
entry point. Subclasses can feel free to override/extend the
speechGenerators instance field as they see fit.c C s t jj| |d� d S )N�speech)r � Generatorr )r �scriptr
r
r r \ s zSpeechGenerator.__init__c C sR |j � tjkr| jt�}n4t|t�rD|j� rD|j� j � rD| jt
�}n
| jt�}|S )N)�getRole�pyatspi� ROLE_LINK�voice� HYPERLINK�
isinstance�str�isupper�strip�isalpha� UPPERCASE�DEFAULT)r �obj�stringr r
r
r �_getACSS_ s
zSpeechGenerator._getACSSc C s t jj| |� | j|d<