Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to recognize python2 syntax for exception #15

Closed
williamjamir opened this issue Jan 5, 2018 · 2 comments
Closed

Failed to recognize python2 syntax for exception #15

williamjamir opened this issue Jan 5, 2018 · 2 comments
Assignees
Labels

Comments

@williamjamir
Copy link
Contributor

williamjamir commented Jan 5, 2018

Hi,

Running google-pasta with python 2.7 against a file that has an try/except that follows the syntax from Python2 throws a pasta.base.annotate.AnnotationError saying that Expected 'as' but found ','

Below you can see a minimum code that reproduces the problem

Using Python 2.7

(test_pasta) λ python --version
Python 2.7.12

File test.py

def foo():
    try:
        pass
    except Exception, e:
        pass

Script:

import pasta
path = r'test.py'

with open(path) as file:
    tree = pasta.parse(file.read())

Throws the following error:

pasta.base.annotate.AnnotationError: Expected 'as' but found ','
line 4:     except Exception, e:

Full StackStrace

Traceback (most recent call last):
  File "past_script.py", line 15, in <module>
    tree = pasta.parse(file.read())
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\__init__.py", line 25, in parse
    annotator.visit(t)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 1033, in visit
    super(AstAnnotator, self).visit(node)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 115, in visit
    super(BaseVisitor, self).visit(node)
  File "W:\william\envs\test_pasta\lib\ast.py", line 241, in visit
    return visitor(node)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 79, in wrapped
    f(self, node, *args, **kwargs)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 158, in visit_Module
    self.generic_visit(node)
  File "W:\william\envs\test_pasta\lib\ast.py", line 249, in generic_visit
    self.visit(item)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 1033, in visit
    super(AstAnnotator, self).visit(node)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 115, in visit
    super(BaseVisitor, self).visit(node)
  File "W:\william\envs\test_pasta\lib\ast.py", line 241, in visit
    return visitor(node)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 79, in wrapped
    f(self, node, *args, **kwargs)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 347, in visit_FunctionDef
    self.visit(stmt)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 1033, in visit
    super(AstAnnotator, self).visit(node)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 115, in visit
    super(BaseVisitor, self).visit(node)
  File "W:\william\envs\test_pasta\lib\ast.py", line 241, in visit
    return visitor(node)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 79, in wrapped
    f(self, node, *args, **kwargs)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 371, in visit_TryExcept
    self.visit(handler)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 1033, in visit
    super(AstAnnotator, self).visit(node)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 115, in visit
    super(BaseVisitor, self).visit(node)
  File "W:\william\envs\test_pasta\lib\ast.py", line 241, in visit
    return visitor(node)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 79, in wrapped
    f(self, node, *args, **kwargs)
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 407, in visit_ExceptHandler
    self.attr(node, 'as', [self.ws, 'as', self.ws], default=' as ')
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 1139, in attr
    attr_parts.append(self.token(attr_val))
  File "W:\william\envs\test_pasta\lib\site-packages\pasta\base\annotate.py", line 1083, in token
    token_val, token.src, token.start[0], token.line))
pasta.base.annotate.AnnotationError: Expected 'as' but found ','
line 4:     except Exception, e:

cc: @nicoddemus

@soupytwist soupytwist self-assigned this Jan 5, 2018
@soupytwist soupytwist added the bug label Jan 5, 2018
@soupytwist
Copy link
Collaborator

Thank you! Yes, this syntax is not supported at the moment. Will add it.

@soupytwist
Copy link
Collaborator

Fixed in 487e4f3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants