1
0
forked from VimPlug/jedi

Merge branch 'dev' of github.com:davidhalter/jedi into dev

This commit is contained in:
David Halter
2013-08-10 21:42:03 +04:30
2 changed files with 16 additions and 7 deletions

1
.gitignore vendored
View File

@@ -10,3 +10,4 @@
/docs/_build/
/dist/
jedi.egg-info/
record.json

16
sith.py
View File

@@ -61,6 +61,9 @@ class SourceFinder(object):
@staticmethod
def fetch(file_path):
if not os.path.isdir(file_path):
yield file_path
return
for root, dirnames, filenames in os.walk(file_path):
for name in filenames:
if name.endswith('.py'):
@@ -77,6 +80,8 @@ class TestCase(object):
def __init__(self, operation, path, line, column, traceback=None):
if operation not in self.operations:
raise ValueError("%s is not a valid operation" % operation)
# Set other attributes
self.operation = operation
self.path = path
self.line = line
@@ -86,8 +91,8 @@ class TestCase(object):
@classmethod
def from_cache(cls, record):
with open(record) as f:
dct = json.load(f)
return cls(**dct)
args = json.load(f)
return cls(*args)
operations = [
'completions', 'goto_assignments', 'goto_definitions', 'usages',
@@ -121,8 +126,9 @@ class TestCase(object):
except Exception:
self.traceback = traceback.format_exc()
if record is not None:
call_args = (self.operation, self.path, self.line, self.column, self.traceback)
with open(record, 'w') as f:
json.dump(self.__dict__, f)
json.dump(call_args, f)
self.show_errors()
if debugger:
einfo = sys.exc_info()
@@ -179,6 +185,7 @@ class TestCase(object):
"\tline: {line}\n"
"\tcolumn: {column}").format(**self.__dict__))
def main(arguments):
debugger = 'pdb' if arguments['--pdb'] else \
'ipdb' if arguments['--ipdb'] else \
@@ -196,7 +203,8 @@ def main(arguments):
else:
t.run(debugger)
elif arguments['run']:
TestCase(arguments['<operation>'], arguments['<path>'],
TestCase(
arguments['<operation>'], arguments['<path>'],
int(arguments['<line>']), int(arguments['<column>'])
).run(debugger, print_result=True)
else: