Mini Shell
3
�p5[�- � @ sp d Z dZdZdZdZdZddlZddlZdd lm Z dd
lm
Z
ddlmZ ddlmZ dd
lm
Z
ddlmZ ddlmZ e
j� Zejd�Zdadd� Zdd� Zdd� ZdBdd�Zdd� Zdd� ZdCdd�ZdDd d!�ZdEd"d#�Zd$d%� Z d&d'� Z!d(d)� Z"dFd*d+�Z#dGd,d-�Z$dHd.d/�Z%dId0d1�Z&dJd2d3�Z'dKd4d5�Z(dLd6d7�Z)dMd8d9�Z*d:d;� Z+dNd<d=�Z,d>d?� Z-d@dA� Z.dS )Oz�Manages the default speech server for orca. A script can use this
as its speech server, or it can feel free to create one of its own.z$Id$z
$Revision$z$Date$z-Copyright (c) 2005-2009 Sun Microsystems Inc.ZLGPL� N� )�debug)�logger)�
orca_state)�settings)�speech_generator)�VoiceFamily)�ACSSZspeechc
C sR g } t j}xB|D ]:}ytjd| �}| j|� W q tjtj� Y qX qW | S )z�Imports all known SpeechServer factory modules. Returns a list
of modules that implement the getSpeechServers method, which
returns a list of speechserver.SpeechServer instances.
zorca.%s)r �speechFactoryModules� importlib�
import_module�appendr �printExceptionZLEVEL_CONFIGURATION)� factories�moduleNames�
moduleName�module� r �/usr/lib/python3.6/speech.py�getSpeechServerFactories0 s
r c C s� | sd S d }yt jd| �}W n4 yt j| �}W n tjtj� Y nX Y nX tj}|rj|jj|�a t s�|jj� a |r�d| }tj
tj|d� t s�td| ��d S )Nzorca.%sz$SPEECH: Invalid speechServerInfo: %sTz'ERROR: No speech server for factory: %s)
r r r r �LEVEL_SEVEREr �speechServerInfo�SpeechServerZgetSpeechServer�
_speechserver�println�
LEVEL_INFO� Exception)r r �factory�msgr r r �_initSpeechServerB s(
r c C s� t jt jdd� tr(t jt jdd� d S ytj} t| tj� W nX tj}xD|D ]<} | tjkrRyt| d � trrP W qR t j t j
� Y qRX qRW Y nX tr�d| }t jt j|d� nd}t jt j|d� t jt jdd� d S )NzSPEECH: InitializingTzSPEECH: Already initializedz'SPEECH: Using speech server factory: %szSPEECH: Not availablezSPEECH: Initialized)r r r r r ZspeechServerFactoryr r r
r r )r r r r r r �inita s0
r c C s� t | t�rF| j| j�}yt|�}W n ti �}Y nX || | j<