From ec4398d4a5020eedac7dced92fdd4bc07d956ee8 Mon Sep 17 00:00:00 2001 From: whisperstream Date: Wed, 6 May 2015 13:47:32 -0700 Subject: [PATCH] Fixed pyspark indentation issue see https://issues.apache.org/jira/browse/ZEPPELIN-34, should allow: %pyspark if True: print "one" else: print "two" def test_func(text): for i in range(1, 10): print text + '-' + str(i) test_func('fixed') --- .../main/resources/python/zeppelin_pyspark.py | 42 ++++--------------- 1 file changed, 7 insertions(+), 35 deletions(-) diff --git a/spark/src/main/resources/python/zeppelin_pyspark.py b/spark/src/main/resources/python/zeppelin_pyspark.py index 5b70d85ccfe..2e99c44d683 100644 --- a/spark/src/main/resources/python/zeppelin_pyspark.py +++ b/spark/src/main/resources/python/zeppelin_pyspark.py @@ -85,9 +85,7 @@ def reset(self): try: stmts = req.statements().split("\n") jobGroup = req.jobGroup() - single = None - incomplete = None - compiledCode = None + final_code = None for s in stmts: if s == None or len(s.strip()) == 0: @@ -97,38 +95,13 @@ def reset(self): if s.strip().startswith("#"): continue - if s[0] != " " and s[0] != "\t": - if incomplete != None: - raise incomplete - - if compiledCode != None: - sc.setJobGroup(jobGroup, "Zeppelin") - eval(compiledCode) - compiledCode = None - single = None - incomplete = None - - if single == None: - single = s + if final_code: + final_code += "\n" + s else: - single += "\n" + s - - try : - compiledCode = compile(single, "", "single") - incomplete = None - except SyntaxError as e: - if str(e).startswith("unexpected EOF while parsing") : - # incomplete expression - incomplete = e - continue - else : - # actual error - raise e - - if incomplete != None: - raise incomplete - - if compiledCode != None: + final_code = s + + if final_code: + compiledCode = compile(final_code, "", "exec") sc.setJobGroup(jobGroup, "Zeppelin") eval(compiledCode) @@ -137,4 +110,3 @@ def reset(self): intp.setStatementsFinished(str(sys.exc_info()), True) output.reset() -