Source code for matrixctl.print_helpers

#!/usr/bin/env python
# matrixctl
# Copyright (c) 2020  Michael Sasser <Michael@MichaelSasser.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

"""Use the functions of this module as printing helpers."""

from __future__ import annotations

from datetime import datetime
from typing import Any


__author__: str = "Michael Sasser"
__email__: str = "Michael@MichaelSasser.org"


# TODO: Check if used and for what; type?; docs.
[docs]def human_readable_bool(b: Any) -> str: """Use this helper function to get a "yes" or "no" string from a "bool". Parameters ---------- b : any The value to "convert". Returns ------- answer : str ``"Yes"`` if expression is ``True``, or ``"False"`` if expression is ``False``. """ if isinstance(b, str): b = int(b) if isinstance(b, int): b = bool(b) return "Yes" if b else "No"
[docs]def timestamp_to_dt(ts: str, sep: str = " ") -> str: """Convert a timestamp (in ms) to a datetime string. Parameters ---------- ts : str The value to "convert". sep : str The separator between the date and the time. Returns ------- dt : str A datetime string (e.g. 2021-08-21 04:55:55) """ return ( datetime.fromtimestamp(int(ts) // 1000.0) .strftime("%Y-%m-%d %H:%M:%S") .replace(" ", sep) )
# vim: set ft=python :