Skip to content

Commit c3fff97

Browse files
committed
- Remove json package as it's never used
- Catch invalid json errors #131
1 parent c72c715 commit c3fff97

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

markdowntoc/base.py

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import pprint
22
import sublime
3-
import json
43
from .util import Util
54

65
# for debug
@@ -12,16 +11,24 @@ def settings(self, attr):
1211
DEFAULT = 'Packages/MarkdownTOC/MarkdownTOC.sublime-settings'
1312
files = sublime.find_resources('MarkdownTOC.sublime-settings')
1413
files.remove(DEFAULT)
15-
settings = sublime.decode_value(sublime.load_resource(DEFAULT))
14+
15+
settings = self.decode_value(DEFAULT)
1616
for f in files:
17-
user_settings = sublime.decode_value(sublime.load_resource(f))
17+
user_settings = self.decode_value(f)
1818
if user_settings != None:
1919
Util.dict_merge(settings, user_settings)
2020
return settings[attr]
2121

2222
def defaults(self):
2323
return self.settings('defaults')
2424

25+
def decode_value(self, file):
26+
# Check json syntax
27+
try:
28+
return sublime.decode_value(sublime.load_resource(file))
29+
except ValueError as e:
30+
self.error('Invalid json in %s: %s' % (file, e))
31+
2532
def log(self, arg):
2633
if self.settings('logging') is True:
2734
arg = str(arg)

0 commit comments

Comments
 (0)