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,
|
def __init__(self, language_code, device_model_id, device_id,
|
||||||
conversation_stream, display,
|
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_conversation_start=None, on_conversation_end=None,
|
||||||
on_speech_recognized=None, on_volume_changed=None,
|
on_speech_recognized=None, on_volume_changed=None,
|
||||||
on_response=None):
|
on_response=None):
|
||||||
|
@ -59,7 +59,7 @@ class SampleAssistant(object):
|
||||||
self.device_id = device_id
|
self.device_id = device_id
|
||||||
self.conversation_stream = conversation_stream
|
self.conversation_stream = conversation_stream
|
||||||
self.display = display
|
self.display = display
|
||||||
self.play_response = True
|
self.play_response = play_response
|
||||||
|
|
||||||
# Opaque blob provided in AssistResponse that,
|
# Opaque blob provided in AssistResponse that,
|
||||||
# when provided in a follow-up AssistRequest,
|
# when provided in a follow-up AssistRequest,
|
||||||
|
@ -94,6 +94,7 @@ class SampleAssistant(object):
|
||||||
return False
|
return False
|
||||||
self.conversation_stream.close()
|
self.conversation_stream.close()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
def is_grpc_error_unavailable(e):
|
def is_grpc_error_unavailable(e):
|
||||||
is_grpc_error = isinstance(e, grpc.RpcError)
|
is_grpc_error = isinstance(e, grpc.RpcError)
|
||||||
if is_grpc_error and (e.code() == grpc.StatusCode.UNAVAILABLE):
|
if is_grpc_error and (e.code() == grpc.StatusCode.UNAVAILABLE):
|
||||||
|
@ -115,7 +116,6 @@ class SampleAssistant(object):
|
||||||
if self.on_conversation_start:
|
if self.on_conversation_start:
|
||||||
self.on_conversation_start()
|
self.on_conversation_start()
|
||||||
|
|
||||||
self.play_response = True
|
|
||||||
logging.info('Recording audio request.')
|
logging.info('Recording audio request.')
|
||||||
|
|
||||||
def iter_log_assist_requests():
|
def iter_log_assist_requests():
|
||||||
|
|
|
@ -55,7 +55,9 @@ class AssistantGooglePushtotalkPlugin(AssistantPlugin):
|
||||||
device_config=os.path.join(
|
device_config=os.path.join(
|
||||||
os.path.expanduser('~'), '.config', 'googlesamples-assistant',
|
os.path.expanduser('~'), '.config', 'googlesamples-assistant',
|
||||||
'device_config.json'),
|
'device_config.json'),
|
||||||
language='en-US', **kwargs):
|
language='en-US',
|
||||||
|
play_response=True,
|
||||||
|
**kwargs):
|
||||||
"""
|
"""
|
||||||
:param credentials_file: Path to the Google OAuth credentials file
|
:param credentials_file: Path to the Google OAuth credentials file
|
||||||
(default: ~/.config/google-oauthlib-tool/credentials.json).
|
(default: ~/.config/google-oauthlib-tool/credentials.json).
|
||||||
|
@ -71,6 +73,10 @@ class AssistantGooglePushtotalkPlugin(AssistantPlugin):
|
||||||
|
|
||||||
:param language: Assistant language (default: en-US)
|
:param language: Assistant language (default: en-US)
|
||||||
:type language: str
|
: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)
|
super().__init__(**kwargs)
|
||||||
|
@ -78,6 +84,7 @@ class AssistantGooglePushtotalkPlugin(AssistantPlugin):
|
||||||
self.language = language
|
self.language = language
|
||||||
self.credentials_file = credentials_file
|
self.credentials_file = credentials_file
|
||||||
self.device_config = device_config
|
self.device_config = device_config
|
||||||
|
self.play_response = play_response
|
||||||
self.assistant = None
|
self.assistant = None
|
||||||
self.interactions = []
|
self.interactions = []
|
||||||
|
|
||||||
|
@ -223,6 +230,7 @@ class AssistantGooglePushtotalkPlugin(AssistantPlugin):
|
||||||
display=None,
|
display=None,
|
||||||
channel=self.grpc_channel,
|
channel=self.grpc_channel,
|
||||||
deadline_sec=self.grpc_deadline,
|
deadline_sec=self.grpc_deadline,
|
||||||
|
play_response=self.play_response,
|
||||||
device_handler=self.device_handler,
|
device_handler=self.device_handler,
|
||||||
on_conversation_start=self.on_conversation_start(),
|
on_conversation_start=self.on_conversation_start(),
|
||||||
on_conversation_end=self.on_conversation_end(),
|
on_conversation_end=self.on_conversation_end(),
|
||||||
|
|
Loading…
Reference in a new issue