forked from platypush/platypush
#86: Support for play_response flag on Google pushtotalk plugin
This commit is contained in:
parent
9b04570e49
commit
d5f0d476c0
2 changed files with 12 additions and 4 deletions
|
@ -50,7 +50,7 @@ class SampleAssistant(object):
|
|||
|
||||
def __init__(self, language_code, device_model_id, device_id,
|
||||
conversation_stream, display,
|
||||
channel, deadline_sec, device_handler,
|
||||
channel, deadline_sec, device_handler, play_response=True,
|
||||
on_conversation_start=None, on_conversation_end=None,
|
||||
on_speech_recognized=None, on_volume_changed=None,
|
||||
on_response=None):
|
||||
|
@ -59,7 +59,7 @@ class SampleAssistant(object):
|
|||
self.device_id = device_id
|
||||
self.conversation_stream = conversation_stream
|
||||
self.display = display
|
||||
self.play_response = True
|
||||
self.play_response = play_response
|
||||
|
||||
# Opaque blob provided in AssistResponse that,
|
||||
# when provided in a follow-up AssistRequest,
|
||||
|
@ -94,6 +94,7 @@ class SampleAssistant(object):
|
|||
return False
|
||||
self.conversation_stream.close()
|
||||
|
||||
@staticmethod
|
||||
def is_grpc_error_unavailable(e):
|
||||
is_grpc_error = isinstance(e, grpc.RpcError)
|
||||
if is_grpc_error and (e.code() == grpc.StatusCode.UNAVAILABLE):
|
||||
|
@ -115,7 +116,6 @@ class SampleAssistant(object):
|
|||
if self.on_conversation_start:
|
||||
self.on_conversation_start()
|
||||
|
||||
self.play_response = True
|
||||
logging.info('Recording audio request.')
|
||||
|
||||
def iter_log_assist_requests():
|
||||
|
|
|
@ -55,7 +55,9 @@ class AssistantGooglePushtotalkPlugin(AssistantPlugin):
|
|||
device_config=os.path.join(
|
||||
os.path.expanduser('~'), '.config', 'googlesamples-assistant',
|
||||
'device_config.json'),
|
||||
language='en-US', **kwargs):
|
||||
language='en-US',
|
||||
play_response=True,
|
||||
**kwargs):
|
||||
"""
|
||||
:param credentials_file: Path to the Google OAuth credentials file
|
||||
(default: ~/.config/google-oauthlib-tool/credentials.json).
|
||||
|
@ -71,6 +73,10 @@ class AssistantGooglePushtotalkPlugin(AssistantPlugin):
|
|||
|
||||
:param language: Assistant language (default: en-US)
|
||||
:type language: str
|
||||
|
||||
:param play_response: If True (default) then the plugin will play the assistant response upon processed
|
||||
response. Otherwise nothing will be played - but you may want to handle the ``ResponseEvent`` manually.
|
||||
:type play_response: bool
|
||||
"""
|
||||
|
||||
super().__init__(**kwargs)
|
||||
|
@ -78,6 +84,7 @@ class AssistantGooglePushtotalkPlugin(AssistantPlugin):
|
|||
self.language = language
|
||||
self.credentials_file = credentials_file
|
||||
self.device_config = device_config
|
||||
self.play_response = play_response
|
||||
self.assistant = None
|
||||
self.interactions = []
|
||||
|
||||
|
@ -223,6 +230,7 @@ class AssistantGooglePushtotalkPlugin(AssistantPlugin):
|
|||
display=None,
|
||||
channel=self.grpc_channel,
|
||||
deadline_sec=self.grpc_deadline,
|
||||
play_response=self.play_response,
|
||||
device_handler=self.device_handler,
|
||||
on_conversation_start=self.on_conversation_start(),
|
||||
on_conversation_end=self.on_conversation_end(),
|
||||
|
|
Loading…
Reference in a new issue