From f41410d1768a010cebfee609f052d1fbed7cc42a Mon Sep 17 00:00:00 2001 From: Hykilpikonna Date: Sun, 22 Nov 2020 18:07:02 -0500 Subject: [PATCH] [+] Create dictToString function --- src/utils.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/utils.py b/src/utils.py index a02878b..52de168 100644 --- a/src/utils.py +++ b/src/utils.py @@ -1,4 +1,5 @@ import json +from typing import Union import requests from telegram.ext import CommandHandler @@ -28,3 +29,30 @@ def createCommand(method): # Create and execute http request def create(req): return requests.request(req['method'], req['url'], headers=req.get('headers', {}), data=req.get('payload', None)) + + +# Convert json to more readable formats +def dictToString(obj, indent=4, indentLevel=1) -> str: + if type(obj) == dict: + if len(obj) == 0: + return '{}' + + result = '{\n' + + for (k, v) in obj.items(): + result += ' ' * (indent * indentLevel) + k + ': ' + + # Dict inside dict + if type(v) == dict or type(v) == list: + if len(v) != 0: + result += '\n' + ' ' * (indent * indentLevel) + result += dictToString(v, indentLevel=indentLevel + 1) + '\n' + + elif type(v) == str: + result += '"' + v.replace('\n', '\\n') + '"\n' + + # Regular value + else: + result += str(v) + '\n' + + return result + ' ' * (indent * (indentLevel - 1)) + '}'