# -*- coding: utf-8 -*-
import speech

class Sprachausgabe(object):
    """Die Klasse Sprachausgabe ermöglicht die Umwandlung von Text in Sprache.
    Dieser wird dann als gesprochene Sprache über die Lautsprecher ausgegeben.
    
    Attribute:
        text (Zeichenkette): Der umzuwandelnde Text."""

    def __init__(self, pText="Text"):
        """Auftrag. Initialisiert die Sprachausgabe.
        
        Parameter:
            [optional] pText (Zeichenkette): Der umzuwandelnde Text.
        """
        self.text = pText

    def setzeText(self, pText):
        """Auftrag. Ändert den umzuwandelnden Text.
        
        Parameter:
            pText (Zeichenkette):
        """
        self.text = pText

    def nenneText(self):
        """Anfrage. Gibt den umzuwandelnden Text zurück.
        
        Parameter:
            --- keine ---
        
        Rückgabe (Zeichenkette): Der umzuwandelnde Text.
        """
        return self.text

    def sprichtNoch(self):
        """Anfrage. Überprüft, ob noch eine Sprachausgabe läuft.
        
        Parameter:
            --- keine ---
        
        Rückgabe (Wahrheitswert): Liefert True, wenn die Sprachausgabe noch
            läuft, sonst False.
        """
        return speech.is_speaking()

    def sprechen(self):
        """Auftrag. Wandelt den Text in Sprache um und gibt ihn über die
        Lautsprecher aus.
        
        Parameter:
            --- keine ---
        """
        speech.say(self.text)