From 80a68ceb5aa7ea37670842fbd427d98c9c01d808 Mon Sep 17 00:00:00 2001 From: Alejandro Sirgo Rica Date: Fri, 13 Dec 2024 11:07:26 +0100 Subject: live: use human readable date in live list Parse the unix timestamp into a human readable format like "2024-11-25 12:28:19". Make print_json() print from string and from a json object to enable manipulation of data before printing. --- cli/objects/live.py | 15 ++++++++++++++- cli/utils.py | 7 +++++-- 2 files changed, 19 insertions(+), 3 deletions(-) (limited to 'cli') diff --git a/cli/objects/live.py b/cli/objects/live.py index 0664c01..64ed3de 100644 --- a/cli/objects/live.py +++ b/cli/objects/live.py @@ -8,6 +8,7 @@ import argparse from cli.config import cfg, OG_CLI_CFG_PATH +from datetime import datetime from cli.utils import * import requests import shutil @@ -23,6 +24,15 @@ class OgLive(): ] tmp_extension = '.tmp' + @staticmethod + def _parse_timestamps(payload): + for elem in payload['oglive']: + if 'date' in elem: + timestamp = elem['date'] + readable_date = datetime.fromtimestamp(timestamp).strftime("%Y-%m-%d %H:%M:%S") + elem['date'] = readable_date + + @staticmethod def _get_local_live_dir(): local_live_dir = cfg.get('local_live', '/var/www/html/ogrelive') @@ -155,7 +165,10 @@ class OgLive(): res = rest.get('/oglive/list') if not res: return 1 - print_json(res.text) + + live_data = json.loads(res.text) + OgLive._parse_timestamps(live_data) + print_json(live_data) return 0 @staticmethod diff --git a/cli/utils.py b/cli/utils.py index 380bd5b..2922f78 100644 --- a/cli/utils.py +++ b/cli/utils.py @@ -49,8 +49,11 @@ def reorder_json_tree(payload): payload[k] = val reorder_json_tree(val) -def print_json(text): - payload = json.loads(text) +def print_json(data): + if isinstance(data, (dict, list)): + payload = data + else: + payload = json.loads(data) reorder_json_tree(payload) print(json.dumps(payload, indent=2, ensure_ascii=False)) -- cgit v1.2.3-18-g5258