Пример #1
0
    def __new__(cls, text, **kwargs):
        if 'language' not in kwargs.keys():
            lang = get_lang(default=settings.DEFAULT_LANGUAGE)
            kwargs.update(language=lang)

        lang = kwargs['language']

        url = translate_audio(audio_filename_for(text), language=lang)
        exists = False
        try:
            exists = (requests.head(url, timeout=1.5).status_code == 200)
        except:
            pass
        # Play audio if it exists. If a voice was passed explicitly, never play audio.
        if exists and 'voice' not in g.request_params.keys():
            play = Play(audio_filename_for(text), **kwargs)
            return play
        else:  # Only adjust language via accent map if we don't have audio.
            kwargs['language'] = ACCENT_MAP.get(lang, lang)

        return super(Say, cls).__new__(cls, text, **kwargs)
Пример #2
0
 def __init__(self, url, **kwargs):
     super(Play, self).__init__(url, **kwargs)
     self.body = translate_audio(url, **kwargs)