diff --git a/plugin/packages/wakatime/HISTORY.rst b/plugin/packages/wakatime/HISTORY.rst index 6b7a27e..d7bb5b5 100644 --- a/plugin/packages/wakatime/HISTORY.rst +++ b/plugin/packages/wakatime/HISTORY.rst @@ -3,6 +3,12 @@ History ------- +3.0.1 (2014-12-23) +++++++++++++++++++ + +- handle unknown language when parsing dependencies + + 3.0.0 (2014-12-23) ++++++++++++++++++ diff --git a/plugin/packages/wakatime/wakatime/__init__.py b/plugin/packages/wakatime/wakatime/__init__.py index 7aaae29..5f12f14 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__ = '3.0.0' +__version__ = '3.0.1' __author__ = 'Alan Hamlett' __license__ = 'BSD' __copyright__ = 'Copyright 2014 Alan Hamlett' diff --git a/plugin/packages/wakatime/wakatime/languages/__init__.py b/plugin/packages/wakatime/wakatime/languages/__init__.py index 333aedd..9178dbe 100644 --- a/plugin/packages/wakatime/wakatime/languages/__init__.py +++ b/plugin/packages/wakatime/wakatime/languages/__init__.py @@ -42,8 +42,10 @@ class TokenParser(object): self._save_dependency(dep, truncate=truncate) def _extract_tokens(self): - with open(self.source_file, 'r', encoding='utf-8') as fh: - return self.lexer.get_tokens_unprocessed(fh.read(512000)) + if self.lexer: + with open(self.source_file, 'r', encoding='utf-8') as fh: + return self.lexer.get_tokens_unprocessed(fh.read(512000)) + return [] def _save_dependency(self, dep, truncate=True): dep = dep.strip().split('.')[0].strip() if truncate else dep.strip() @@ -60,13 +62,14 @@ class DependencyParser(object): self.source_file = source_file self.lexer = lexer - try: - module_name = self.lexer.__module__.split('.')[-1] - class_name = self.lexer.__class__.__name__.replace('Lexer', 'Parser', 1) - module = import_module('.%s' % module_name, package=__package__) - self.parser = getattr(module, class_name) - except ImportError as ex: - log.debug(ex) + if self.lexer: + try: + module_name = self.lexer.__module__.split('.')[-1] + class_name = self.lexer.__class__.__name__.replace('Lexer', 'Parser', 1) + module = import_module('.%s' % module_name, package=__package__) + self.parser = getattr(module, class_name) + except ImportError as ex: + log.debug(ex) def parse(self): if self.parser: