minor improvments

This commit is contained in:
Andrew Gundersen 2020-12-15 15:30:42 -06:00
commit db2e6c4f15
14 changed files with 39 additions and 120 deletions

View file

@ -16,52 +16,22 @@ class Agent:
self.service = None
self.client_connection = connection
def fetch(self, entity, invocation):
# Create the intent.
params = {
"entity": entity,
"service": self.service,
"invocation": invocation
}
intent = typs.Intent(name="fetch", params=params)
self.send_agent_intent(intent)
intent = self.recv_agent_intent()
response = intent.params.get("response")
return response
def notify(self, text, end=False):
# Create the intent.
params = {
"text": text,
"service": "message",
"end": end
}
intent = typs.Intent(name="notify", params=params)
# Send intent to agent.
self.send_agent_intent(intent)
async def recv_agent_intent(self):
package = await self.client_connection.recv()
intent = self.__decode(package)
return intent
jpackage = self.__decode(package)
return jpackage
async def send_agent_intent(self, intent):
package = self.__encode(intent)
async def send_agent_intent(self, jpackage):
package = self.__encode(jpackage)
await self.client_connection.send(package)
def __encode(self, intent: typs.Intent):
package = json.dumps(intent.__dict__)
def __encode(self, jpackage):
package = json.dumps(jpackage)
return package
def __decode(self, package) -> typs.Intent:
def __decode(self, package):
jpackage = json.loads(package)
name = jpackage.get("name")
params = jpackage.get("params")
intent = typs.Intent(name, params)
return intent
return jpackage