diff --git a/plugin/packages/wakatime/HISTORY.rst b/plugin/packages/wakatime/HISTORY.rst index 97097d9..64ceb74 100644 --- a/plugin/packages/wakatime/HISTORY.rst +++ b/plugin/packages/wakatime/HISTORY.rst @@ -3,6 +3,12 @@ History ------- +2.1.10 (2014-12-15) ++++++++++++++++++++ + +- prevent queuing offline heartbeats which will never be valid (400 errors) + + 2.1.9 (2014-12-05) ++++++++++++++++++ diff --git a/plugin/packages/wakatime/wakatime/__init__.py b/plugin/packages/wakatime/wakatime/__init__.py index 5c9614d..561e445 100644 --- a/plugin/packages/wakatime/wakatime/__init__.py +++ b/plugin/packages/wakatime/wakatime/__init__.py @@ -13,7 +13,7 @@ from __future__ import print_function __title__ = 'wakatime' -__version__ = '2.1.9' +__version__ = '2.1.10' __author__ = 'Alan Hamlett' __license__ = 'BSD' __copyright__ = 'Copyright 2014 Alan Hamlett' @@ -310,8 +310,9 @@ def send_action(project=None, branch=None, stats=None, key=None, targetFile=None if log.isEnabledFor(logging.DEBUG): exception_data['traceback'] = traceback.format_exc() if offline: - queue = Queue() - queue.push(data, plugin) + if response is not None and response.getcode() != 400: + queue = Queue() + queue.push(data, plugin) if log.isEnabledFor(logging.DEBUG): log.warn(exception_data) if response is not None and response.getcode() in ALWAYS_LOG_CODES: @@ -327,8 +328,9 @@ def send_action(project=None, branch=None, stats=None, key=None, targetFile=None if log.isEnabledFor(logging.DEBUG): exception_data['traceback'] = traceback.format_exc() if offline: - queue = Queue() - queue.push(data, plugin) + if response is not None and response.getcode() != 400: + queue = Queue() + queue.push(data, plugin) if 'unknown url type: https' in u(sys.exc_info()[1]): log.error(exception_data) elif log.isEnabledFor(logging.DEBUG): @@ -348,8 +350,9 @@ def send_action(project=None, branch=None, stats=None, key=None, targetFile=None response_code = response.getcode() if response is not None else None response_content = response.read() if response is not None else None if offline: - queue = Queue() - queue.push(data, plugin) + if response is not None and response.getcode() != 400: + queue = Queue() + queue.push(data, plugin) if log.isEnabledFor(logging.DEBUG): log.warn({ 'response_code': response_code,