Skip to content

Commit 5f96026

Browse files
authored
feat/add_valid_langs_to_session (#25)
1 parent 8190f9a commit 5f96026

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

ovos_bus_client/session.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,14 @@ class Session:
2020
"""
2121

2222
def __init__(self, session_id=None, expiration_seconds=None, active_skills=None, history=None,
23-
max_time=5, max_messages=5, utterance_states=None, lang=None, context=None):
23+
max_time=5, max_messages=5, utterance_states=None, lang=None, context=None, valid_langs=None):
2424
self.session_id = session_id or str(uuid4())
2525
self.lang = lang or get_default_lang()
26+
27+
def _get_valid_langs():
28+
return list(set([get_default_lang()] + Configuration().get("secondary_langs'", [])))
29+
30+
self.valid_languages = valid_langs or _get_valid_langs()
2631
self.active_skills = active_skills or [] # [skill_id , timestamp]
2732
self.history = history or [] # [Message , timestamp]
2833
self.utterance_states = utterance_states or {} # {skill_id: UtteranceState}
@@ -105,6 +110,7 @@ def serialize(self):
105110
"session_id": self.session_id,
106111
"history": self.history,
107112
"lang": self.lang,
113+
"valid_languages": self.valid_languages,
108114
"context": self.context.serialize()
109115
}
110116

@@ -125,13 +131,15 @@ def deserialize(data):
125131
max_messages = data.get("max_messages") or 5
126132
states = data.get("utterance_states") or {}
127133
lang = data.get("lang")
134+
valid_langs = data.get("valid_languages") or _get_valid_langs()
128135
context = IntentContextManager.deserialize(data["context"])
129136
return Session(uid,
130137
active_skills=active,
131138
utterance_states=states,
132139
history=history,
133140
max_time=max_time,
134141
lang=lang,
142+
valid_langs=valid_langs,
135143
max_messages=max_messages,
136144
context=context)
137145

0 commit comments

Comments
 (0)