create .wakatime.cfg INI file if it does not already exist
This commit is contained in:
parent
9a600df969
commit
ad4df93b04
2 changed files with 35 additions and 5 deletions
38
WakaTime.py
38
WakaTime.py
|
@ -20,7 +20,6 @@ import threading
|
||||||
import uuid
|
import uuid
|
||||||
from os.path import expanduser, dirname, basename, realpath, isfile, join, exists
|
from os.path import expanduser, dirname, basename, realpath, isfile, join, exists
|
||||||
|
|
||||||
|
|
||||||
# globals
|
# globals
|
||||||
ACTION_FREQUENCY = 2
|
ACTION_FREQUENCY = 2
|
||||||
ST_VERSION = int(sublime.version())
|
ST_VERSION = int(sublime.version())
|
||||||
|
@ -36,6 +35,11 @@ LAST_ACTION = {
|
||||||
HAS_SSL = False
|
HAS_SSL = False
|
||||||
LOCK = threading.RLock()
|
LOCK = threading.RLock()
|
||||||
|
|
||||||
|
# add wakatime package to path
|
||||||
|
sys.path.insert(0, join(PLUGIN_DIR, 'packages', 'wakatime'))
|
||||||
|
|
||||||
|
from wakatime import parseConfigFile
|
||||||
|
|
||||||
# check if we have SSL support
|
# check if we have SSL support
|
||||||
try:
|
try:
|
||||||
import ssl
|
import ssl
|
||||||
|
@ -46,13 +50,39 @@ except (ImportError, AttributeError):
|
||||||
from subprocess import Popen
|
from subprocess import Popen
|
||||||
|
|
||||||
if HAS_SSL:
|
if HAS_SSL:
|
||||||
# import wakatime package
|
# import wakatime package so we can use built-in python
|
||||||
sys.path.insert(0, join(PLUGIN_DIR, 'packages', 'wakatime'))
|
|
||||||
import wakatime
|
import wakatime
|
||||||
|
|
||||||
|
|
||||||
|
def createConfigFile():
|
||||||
|
"""Creates the .wakatime.cfg INI file in $HOME directory, if it does
|
||||||
|
not already exist.
|
||||||
|
"""
|
||||||
|
configFile = os.path.join(os.path.expanduser('~'), '.wakatime.cfg')
|
||||||
|
try:
|
||||||
|
with open(configFile, 'r', encoding='utf-8') as fh:
|
||||||
|
pass
|
||||||
|
except IOError:
|
||||||
|
try:
|
||||||
|
with open(configFile, 'w', encoding='utf-8') as fh:
|
||||||
|
fh.write("[settings]\n")
|
||||||
|
fh.write("debug = false\n")
|
||||||
|
fh.write("hidefilenames = false\n")
|
||||||
|
except IOError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def prompt_api_key():
|
def prompt_api_key():
|
||||||
global SETTINGS
|
global SETTINGS
|
||||||
|
|
||||||
|
createConfigFile()
|
||||||
|
|
||||||
|
default_key = ''
|
||||||
|
configs = parseConfigFile()
|
||||||
|
if configs is not None:
|
||||||
|
if configs.has_option('settings', 'api_key'):
|
||||||
|
default_key = configs.get('settings', 'api_key')
|
||||||
|
|
||||||
if SETTINGS.get('api_key'):
|
if SETTINGS.get('api_key'):
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
|
@ -62,7 +92,7 @@ def prompt_api_key():
|
||||||
sublime.save_settings(SETTINGS_FILE)
|
sublime.save_settings(SETTINGS_FILE)
|
||||||
window = sublime.active_window()
|
window = sublime.active_window()
|
||||||
if window:
|
if window:
|
||||||
window.show_input_panel('[WakaTime] Enter your wakatime.com api key:', '', got_key, None, None)
|
window.show_input_panel('[WakaTime] Enter your wakatime.com api key:', default_key, got_key, None, None)
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
print('[WakaTime] Error: Could not prompt for api key because no window found.')
|
print('[WakaTime] Error: Could not prompt for api key because no window found.')
|
||||||
|
|
|
@ -102,7 +102,7 @@ def upgradeConfigFile(configFile):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
def parseConfigFile(configFile):
|
def parseConfigFile(configFile=None):
|
||||||
"""Returns a configparser.SafeConfigParser instance with configs
|
"""Returns a configparser.SafeConfigParser instance with configs
|
||||||
read from the config file. Default location of the config file is
|
read from the config file. Default location of the config file is
|
||||||
at ~/.wakatime.cfg.
|
at ~/.wakatime.cfg.
|
||||||
|
|
Loading…
Reference in a new issue