Add type check to jedi.Interpreter() namespace argument and remove default value

This commit is contained in:
Phillip Berndt
2014-08-18 17:22:11 +02:00
parent cd648e933b
commit 3189ba7662
2 changed files with 6 additions and 1 deletions

View File

@@ -26,5 +26,6 @@ Jorgen Schaefer (@jorgenschaefer) <contact@jorgenschaefer.de>
Fredrik Bergroth (@fbergroth)
Mathias Fußenegger (@mfussenegger)
Syohei Yoshida (@syohex) <syohex@gmail.com>
Phillip Berndt (@phillipberndt) <phillip.berndt@gmail.com>
Note: (@user) means a github user name.

View File

@@ -621,7 +621,7 @@ class Interpreter(Script):
upper
"""
def __init__(self, source, namespaces=[], **kwds):
def __init__(self, source, namespaces, **kwds):
"""
Parse `source` and mixin interpreted Python objects from `namespaces`.
@@ -635,6 +635,10 @@ class Interpreter(Script):
If `line` and `column` are None, they are assumed be at the end of
`source`.
"""
if type(namespaces) is not list or len(namespaces) == 0 or \
any([type(x) is not dict for x in namespaces]):
raise TypeError("namespaces must be a non-empty list of dict")
super(Interpreter, self).__init__(source, **kwds)
self.namespaces = namespaces