diff --git a/wakatime/__init__.py b/wakatime/__init__.py index 5c9614d..d23b275 100644 --- a/wakatime/__init__.py +++ b/wakatime/__init__.py @@ -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 and response.getcode() != 401: + 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 and response.getcode() != 401: + 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 and response.getcode() != 401: + queue = Queue() + queue.push(data, plugin) if log.isEnabledFor(logging.DEBUG): log.warn({ 'response_code': response_code,