Moved JsonDebugPrinter to existing utils module

This commit is contained in:
Chuddah 2020-02-22 15:04:28 +00:00
parent 7491000a13
commit de493d13dd
6 changed files with 25 additions and 24 deletions

View File

@ -15,7 +15,8 @@ import client
from database import reset, get_sync, Database, jellyfin_db, get_credentials
from objects import Objects, Actions
from downloader import TheVoid
from helper import translate, event, settings, window, dialog, api, JSONRPC, debug
from helper import translate, event, settings, window, dialog, api, JSONRPC
from helper.utils import JsonDebugPrinter
#################################################################################################
@ -45,7 +46,7 @@ class Events(object):
if server == 'None':
server = None
LOG.info("path: %s params: %s", path, debug.JsonDebugPrinter(params))
LOG.info("path: %s params: %s", path, JsonDebugPrinter(params))
if '/extrafanart' in base_url:

View File

@ -20,7 +20,8 @@ import library
import setup
import monitor
from views import Views, verify_kodi_defaults
from helper import translate, window, settings, event, dialog, debug
from helper import translate, window, settings, event, dialog
from helper.utils import JsonDebugPrinter
from jellyfin import Jellyfin
#################################################################################################
@ -171,7 +172,7 @@ class Service(xbmc.Monitor):
data = json.loads(data)
LOG.debug("[ %s: %s ] %s", sender, method, debug.JsonDebugPrinter(data))
LOG.debug("[ %s: %s ] %s", sender, method, JsonDebugPrinter(data))
if method == 'ServerOnline':
if data.get('ServerId') is None:

View File

@ -1,15 +0,0 @@
# -*- coding: utf-8 -*-
##################################################################################################
import json
##################################################################################################
class JsonDebugPrinter(object):
def __init__(self, json):
self.json = json
def __str__(self):
return json.dumps(self.json, indent=4)

View File

@ -494,3 +494,16 @@ def has_attribute(obj, name):
return True
except AttributeError:
return False
class JsonDebugPrinter(object):
''' Helper class to defer converting data to JSON until it is needed.
See: https://github.com/jellyfin/jellyfin-kodi/pull/193
'''
def __init__(self, data):
self.data = data
def __str__(self):
return json.dumps(self.data, indent=4)

View File

@ -11,7 +11,7 @@ import requests
from six import string_types
from .exceptions import HTTPException
from helper import debug
from helper.utils import JsonDebugPrinter
#################################################################################################
@ -81,7 +81,7 @@ class HTTP(object):
raise AttributeError("Request cannot be empty")
data = self._request(data)
LOG.debug("--->[ http ] %s", debug.JsonDebugPrinter(data))
LOG.debug("--->[ http ] %s", JsonDebugPrinter(data))
retry = data.pop('retry', 5)
while True:
@ -163,7 +163,7 @@ class HTTP(object):
elapsed = int(r.elapsed.total_seconds() * 1000)
response = r.json()
LOG.debug("---<[ http ][%s ms]", elapsed)
LOG.debug(debug.JsonDebugPrinter(response))
LOG.debug(JsonDebugPrinter(response))
return response
except ValueError:

View File

@ -15,7 +15,8 @@ import downloader
import player
from client import get_device_id
from objects import PlaylistWorker, on_play, on_update, special_listener
from helper import translate, settings, window, dialog, api, JSONRPC, debug
from helper import translate, settings, window, dialog, api, JSONRPC
from helper.utils import JsonDebugPrinter
from jellyfin import Jellyfin
from webservice import WebService
@ -96,7 +97,7 @@ class Monitor(xbmc.Monitor):
data = json.loads(data)
LOG.debug("[ %s: %s ] %s", sender, method, debug.JsonDebugPrinter(data))
LOG.debug("[ %s: %s ] %s", sender, method, JsonDebugPrinter(data))
if self.sleep:
LOG.info("System.OnSleep detected, ignore monitor request.")