From 3c2947cf79c92f3914df8ffa8feae7ab21f7f1bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Henrique=20Guard=C3=A3o=20Gandarez?= Date: Fri, 11 Nov 2022 21:55:29 -0300 Subject: [PATCH] Support for api key vault cmd config --- WakaTime.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/WakaTime.py b/WakaTime.py index ab48538..364a84b 100644 --- a/WakaTime.py +++ b/WakaTime.py @@ -194,11 +194,32 @@ class ApiKey(object): if key: self._key = key return self._key + + apiKeyFromVault = self.__readFromVaultCmd() + if apiKeyFromVault: + self._key = apiKeyFromVault + return self._key except: pass return self._key + def __readFromVaultCmd(self): + apiKeyCmd = SETTINGS.get('api_key_vault_cmd') + if not apiKeyCmd: + return None + + try: + p = Popen(apiKeyCmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) + stdout, stderr = p.communicate() + if p.returncode == 0: + return stdout.strip() + log(WARNING, u(stderr)) + except: + log(ERROR, traceback.format_exc()) + + return None + def write(self, key): global SETTINGS self._key = key