mirror of
https://github.com/LukeHagar/plexpy.git
synced 2025-12-07 04:20:54 +00:00
76 lines
2.3 KiB
Python
76 lines
2.3 KiB
Python
from urllib.parse import quote
|
|
from ..net import query_serializer
|
|
from .base import BaseService
|
|
from ..models.Level import Level as LevelModel
|
|
|
|
|
|
class Log(BaseService):
|
|
def log_line(self, source: str, message: str, level: LevelModel):
|
|
"""
|
|
Logging a single line message.
|
|
Parameters:
|
|
----------
|
|
level: Level
|
|
An integer log level to write to the PMS log with.
|
|
0: Error
|
|
1: Warning
|
|
2: Info
|
|
3: Debug
|
|
4: Verbose
|
|
|
|
message: str
|
|
The text of the message to write to the log.
|
|
source: str
|
|
a string indicating the source of the message.
|
|
"""
|
|
|
|
url_endpoint = "/log"
|
|
headers = {}
|
|
query_params = []
|
|
self._add_required_headers(headers)
|
|
if not level:
|
|
raise ValueError("Parameter level is required, cannot be empty or blank.")
|
|
validated_level = self._enum_matching(level, LevelModel.list(), "level")
|
|
query_params.append(
|
|
query_serializer.serialize_query("form", False, "level", validated_level)
|
|
)
|
|
if not message:
|
|
raise ValueError("Parameter message is required, cannot be empty or blank.")
|
|
query_params.append(
|
|
query_serializer.serialize_query("form", False, "message", message)
|
|
)
|
|
if not source:
|
|
raise ValueError("Parameter source is required, cannot be empty or blank.")
|
|
query_params.append(
|
|
query_serializer.serialize_query("form", False, "source", source)
|
|
)
|
|
final_url = self._url_prefix + url_endpoint + "?" + "&".join(query_params)
|
|
res = self._http.get(final_url, headers, True)
|
|
return res
|
|
|
|
def log_multi_line(self):
|
|
"""
|
|
Logging a multi-line message
|
|
"""
|
|
|
|
url_endpoint = "/log"
|
|
headers = {}
|
|
self._add_required_headers(headers)
|
|
|
|
final_url = self._url_prefix + url_endpoint
|
|
res = self._http.post(final_url, headers, {}, True)
|
|
return res
|
|
|
|
def enable_paper_trail(self):
|
|
"""
|
|
Enabling Papertrail
|
|
"""
|
|
|
|
url_endpoint = "/log/networked"
|
|
headers = {}
|
|
self._add_required_headers(headers)
|
|
|
|
final_url = self._url_prefix + url_endpoint
|
|
res = self._http.get(final_url, headers, True)
|
|
return res
|