# dialogflow-log-parser
[](https://coveralls.io/github/PeterYusuke/dialogflow-log-parser?branch=main)
A module for dialogflow log parser
Only response textPaylod from dialogflow ES log file can be parsed into dict object.
# Usage
This module parses dialogflow logs into python dictionary type.
## Example usage
pip
```
pip install dialogflow-log-parser
```
python
```python
from dialogflow_log_parser.es import response_to_dict
# store log string
textPayload = '[text from dialogflow ES textPayload]'
# parse string to dictionary object
response_dict = response_to_dict(textPayload)
```
## Example of file and parsed object(json)
Please check test/es/data folder, so that you can know what kind of dictionary you get.
Also use swagger.yml file in [swagger editor](https://editor.swagger.io/) to see the entire response json data.
Log file
```conf
Dialogflow Response :
id: "response_id"
lang: "ja"
session_id: "dfMessenger-session-id"
timestamp: "2000-01-01T01:00:21.720007Z"
result {
source: "agent"
resolved_query: "WELCOME"
action: "input.welcome"
score: 1.0
parameters {
}
metadata {
intent_id: "intent_id"
intent_name: "Default Welcome Intent"
webhook_used: "false"
webhook_for_slot_filling_used: "false"
is_fallback_intent: "false"
}
fulfillment {
speech: "hello"
messages {
lang: "ja"
type {
number_value: 0.0
}
speech {
string_value: "hello"
}
}
}
}
status {
code: 200
error_type: "success"
}
```
Parsed json
```json
{
"id": "response_id",
"lang": "ja",
"session_id": "dfMessenger-session-id",
"timestamp": "2000-01-01T01:00:21.720007Z",
"result": {
"source": "agent",
"resolved_query": "WELCOME",
"action": "input.welcome",
"score": 1.0,
"parameters": [],
"metadata": {
"intent_id": "intent_id",
"intent_name": "Default Welcome Intent",
"webhook_used": "false",
"webhook_for_slot_filling_used": "false",
"is_fallback_intent": "false"
},
"fulfillment": {
"speech": "hello",
"messages": [
{
"lang": "ja",
"type": 0.0,
"speech": "hello"
}
]
}
},
"status": {
"code": 200,
"error_type": "success"
}
}
```
# Issues
Feel free to post issues for adding some function. (i.e. request textPayload or CX edition.)
Raw data
{
"_id": null,
"home_page": "https://github.com/PeterYusuke/dialogflow-log-parser",
"name": "dialogflow-log-parser",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "dialogflow parse log hocon",
"author": "Peter Yusuke",
"author_email": "yyamashita1201@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/50/7b/7b21f8a50ab911c5c066ca1fb0dbac1f6c17e6cf5386a2e17f885debcf8e/dialogflow_log_parser-0.0.4.tar.gz",
"platform": null,
"description": "# dialogflow-log-parser\r\n[](https://coveralls.io/github/PeterYusuke/dialogflow-log-parser?branch=main)\r\n\r\nA module for dialogflow log parser\r\n\r\nOnly response textPaylod from dialogflow ES log file can be parsed into dict object. \r\n\r\n# Usage \r\n\r\nThis module parses dialogflow logs into python dictionary type.\r\n\r\n## Example usage\r\npip\r\n```\r\npip install dialogflow-log-parser\r\n```\r\n\r\npython\r\n```python\r\nfrom dialogflow_log_parser.es import response_to_dict\r\n\r\n# store log string\r\ntextPayload = '[text from dialogflow ES textPayload]'\r\n\r\n# parse string to dictionary object\r\nresponse_dict = response_to_dict(textPayload)\r\n\r\n```\r\n\r\n## Example of file and parsed object(json)\r\nPlease check test/es/data folder, so that you can know what kind of dictionary you get. \r\nAlso use swagger.yml file in [swagger editor](https://editor.swagger.io/) to see the entire response json data.\r\n\r\nLog file\r\n```conf\r\nDialogflow Response : \r\n id: \"response_id\"\r\n lang: \"ja\"\r\n session_id: \"dfMessenger-session-id\"\r\n timestamp: \"2000-01-01T01:00:21.720007Z\"\r\n result {\r\n source: \"agent\"\r\n resolved_query: \"WELCOME\"\r\n action: \"input.welcome\"\r\n score: 1.0\r\n parameters {\r\n }\r\n metadata {\r\n intent_id: \"intent_id\"\r\n intent_name: \"Default Welcome Intent\"\r\n webhook_used: \"false\"\r\n webhook_for_slot_filling_used: \"false\"\r\n is_fallback_intent: \"false\"\r\n }\r\n fulfillment {\r\n speech: \"hello\"\r\n messages {\r\n lang: \"ja\"\r\n type {\r\n number_value: 0.0\r\n }\r\n speech {\r\n string_value: \"hello\"\r\n }\r\n }\r\n }\r\n }\r\n status {\r\n code: 200\r\n error_type: \"success\"\r\n }\r\n\r\n```\r\n\r\nParsed json\r\n```json\r\n{\r\n \"id\": \"response_id\",\r\n \"lang\": \"ja\",\r\n \"session_id\": \"dfMessenger-session-id\",\r\n \"timestamp\": \"2000-01-01T01:00:21.720007Z\",\r\n \"result\": {\r\n \"source\": \"agent\",\r\n \"resolved_query\": \"WELCOME\",\r\n \"action\": \"input.welcome\",\r\n \"score\": 1.0,\r\n \"parameters\": [],\r\n \"metadata\": {\r\n \"intent_id\": \"intent_id\",\r\n \"intent_name\": \"Default Welcome Intent\",\r\n \"webhook_used\": \"false\",\r\n \"webhook_for_slot_filling_used\": \"false\",\r\n \"is_fallback_intent\": \"false\"\r\n },\r\n \"fulfillment\": {\r\n \"speech\": \"hello\",\r\n \"messages\": [\r\n {\r\n \"lang\": \"ja\",\r\n \"type\": 0.0,\r\n \"speech\": \"hello\"\r\n }\r\n ]\r\n }\r\n },\r\n \"status\": {\r\n \"code\": 200,\r\n \"error_type\": \"success\"\r\n }\r\n}\r\n```\r\n\r\n# Issues\r\nFeel free to post issues for adding some function. (i.e. request textPayload or CX edition.)\r\n",
"bugtrack_url": null,
"license": "",
"summary": "parse dialogflow log string",
"version": "0.0.4",
"project_urls": {
"Homepage": "https://github.com/PeterYusuke/dialogflow-log-parser"
},
"split_keywords": [
"dialogflow",
"parse",
"log",
"hocon"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "685f7c14856851b1cb13ead3c195820c596d05f719e488293f086ef77179b4bb",
"md5": "7f154a146d4d09a403094860596d5832",
"sha256": "118df4a88ebe356ba8374d58756d7b2b5ea745568ed54c6c3e475db7abbc7e5c"
},
"downloads": -1,
"filename": "dialogflow_log_parser-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7f154a146d4d09a403094860596d5832",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12765,
"upload_time": "2023-12-10T05:21:43",
"upload_time_iso_8601": "2023-12-10T05:21:43.655628Z",
"url": "https://files.pythonhosted.org/packages/68/5f/7c14856851b1cb13ead3c195820c596d05f719e488293f086ef77179b4bb/dialogflow_log_parser-0.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "507b7b21f8a50ab911c5c066ca1fb0dbac1f6c17e6cf5386a2e17f885debcf8e",
"md5": "d958b87b2fa914c0c276a00047fa747a",
"sha256": "75a6515d9baa843dd0ee9b2bde5b536505ee62a4a4789614d4937ceb4d4c43b3"
},
"downloads": -1,
"filename": "dialogflow_log_parser-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "d958b87b2fa914c0c276a00047fa747a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12328,
"upload_time": "2023-12-10T05:21:45",
"upload_time_iso_8601": "2023-12-10T05:21:45.719663Z",
"url": "https://files.pythonhosted.org/packages/50/7b/7b21f8a50ab911c5c066ca1fb0dbac1f6c17e6cf5386a2e17f885debcf8e/dialogflow_log_parser-0.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-10 05:21:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PeterYusuke",
"github_project": "dialogflow-log-parser",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"circle": true,
"requirements": [],
"lcname": "dialogflow-log-parser"
}