mirror of
https://github.com/wakatime/sublime-wakatime.git
synced 2023-08-10 21:13:02 +03:00
Merge pull request #117 from wakatime/feature/api-key-vault-cmd
Support for api key vault cmd config
This commit is contained in:
commit
c34eccad4a
@ -3,6 +3,12 @@ History
|
|||||||
-------
|
-------
|
||||||
|
|
||||||
|
|
||||||
|
11.1.0 (2022-11-11)
|
||||||
|
++++++++++++++++++
|
||||||
|
|
||||||
|
- Support for api key vault cmd config
|
||||||
|
|
||||||
|
|
||||||
11.0.8 (2022-08-23)
|
11.0.8 (2022-08-23)
|
||||||
++++++++++++++++++
|
++++++++++++++++++
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
[WakaTime][wakatime] is an open source Sublime Text plugin for metrics, insights, and time tracking automatically generated from your programming activity.
|
[WakaTime][wakatime] is an open source Sublime Text plugin for metrics, insights, and time tracking automatically generated from your programming activity.
|
||||||
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
1. Install [Package Control](https://packagecontrol.io/installation).
|
1. Install [Package Control](https://packagecontrol.io/installation).
|
||||||
@ -19,12 +18,10 @@
|
|||||||
|
|
||||||
6. Use Sublime and your coding activity will be displayed on your [WakaTime dashboard](https://wakatime.com).
|
6. Use Sublime and your coding activity will be displayed on your [WakaTime dashboard](https://wakatime.com).
|
||||||
|
|
||||||
|
|
||||||
## Screen Shots
|
## Screen Shots
|
||||||
|
|
||||||
![Project Overview](https://wakatime.com/static/img/ScreenShots/Screen-Shot-2016-03-21.png)
|
![Project Overview](https://wakatime.com/static/img/ScreenShots/Screen-Shot-2016-03-21.png)
|
||||||
|
|
||||||
|
|
||||||
## Unresponsive Plugin Warning
|
## Unresponsive Plugin Warning
|
||||||
|
|
||||||
In Sublime Text 2, if you get a warning message:
|
In Sublime Text 2, if you get a warning message:
|
||||||
@ -35,7 +32,6 @@ To fix this, go to `Preferences → Settings - User` then add the following sett
|
|||||||
|
|
||||||
`"detect_slow_plugins": false`
|
`"detect_slow_plugins": false`
|
||||||
|
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
First, turn on debug mode in your `WakaTime.sublime-settings` file.
|
First, turn on debug mode in your `WakaTime.sublime-settings` file.
|
||||||
|
31
WakaTime.py
31
WakaTime.py
@ -186,6 +186,7 @@ class ApiKey(object):
|
|||||||
self._key = key
|
self._key = key
|
||||||
return self._key
|
return self._key
|
||||||
|
|
||||||
|
configs = None
|
||||||
try:
|
try:
|
||||||
configs = parseConfigFile(CONFIG_FILE)
|
configs = parseConfigFile(CONFIG_FILE)
|
||||||
if configs:
|
if configs:
|
||||||
@ -197,8 +198,38 @@ class ApiKey(object):
|
|||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
key = self.api_key_from_vault_cmd(configs)
|
||||||
|
if key:
|
||||||
|
self._key = key
|
||||||
|
return self._key
|
||||||
|
|
||||||
return self._key
|
return self._key
|
||||||
|
|
||||||
|
def api_key_from_vault_cmd(self, configs):
|
||||||
|
vault_cmd = SETTINGS.get('api_key_vault_cmd')
|
||||||
|
if not vault_cmd and configs:
|
||||||
|
try:
|
||||||
|
if configs.has_option('settings', 'api_key_vault_cmd'):
|
||||||
|
vault_cmd = configs.get('settings', 'api_key_vault_cmd')
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if not vault_cmd or not vault_cmd.strip():
|
||||||
|
return None
|
||||||
|
|
||||||
|
try:
|
||||||
|
process = Popen(vault_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
|
||||||
|
stdout, stderr = process.communicate()
|
||||||
|
retcode = process.poll()
|
||||||
|
if retcode:
|
||||||
|
log(ERROR, 'Vault command error ({retcode}): {stderr}'.format(retcode=retcode, stderr=u(stderr)))
|
||||||
|
return None
|
||||||
|
return stdout.strip() or None
|
||||||
|
except:
|
||||||
|
log(ERROR, traceback.format_exc())
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
def write(self, key):
|
def write(self, key):
|
||||||
global SETTINGS
|
global SETTINGS
|
||||||
self._key = key
|
self._key = key
|
||||||
|
Loading…
Reference in New Issue
Block a user