From 0c42f91f4ccf98a37f055afb777ed491da56335e Mon Sep 17 00:00:00 2001 From: Zach White Date: Sun, 25 Oct 2020 14:48:44 -0700 Subject: Generate api data on each push (#10609) * add new qmk generate-api command, to generate a complete set of API data. * Generate api data and push it to the keyboard repo * fix typo * Apply suggestions from code review Co-authored-by: Joel Challis * fixup api workflow * remove file-changes-action * use a more mainstream github action * fix yaml error * Apply suggestions from code review Co-authored-by: Erovia * more uniform date handling * make flake8 happy * Update lib/python/qmk/decorators.py Co-authored-by: Erovia Co-authored-by: Joel Challis Co-authored-by: Erovia --- lib/python/qmk/datetime.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 lib/python/qmk/datetime.py (limited to 'lib/python/qmk/datetime.py') diff --git a/lib/python/qmk/datetime.py b/lib/python/qmk/datetime.py new file mode 100644 index 0000000000..4bffcc6217 --- /dev/null +++ b/lib/python/qmk/datetime.py @@ -0,0 +1,29 @@ +"""Functions to work with dates and times in a uniform way. + +The results of these functions are cached for 5 seconds to provide uniform time strings across short running processes. Long running processes that need more precise timekeeping should not use these functions. +""" +from time import gmtime, strftime + +from qmk.constants import DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT +from qmk.decorators import lru_cache + + +@lru_cache(timeout=5) +def current_date(): + """Returns the current time in UTZ as a formatted string. + """ + return strftime(DATE_FORMAT, gmtime()) + + +@lru_cache(timeout=5) +def current_datetime(): + """Returns the current time in UTZ as a formatted string. + """ + return strftime(DATETIME_FORMAT, gmtime()) + + +@lru_cache(timeout=5) +def current_time(): + """Returns the current time in UTZ as a formatted string. + """ + return strftime(TIME_FORMAT, gmtime()) -- cgit v1.2.3