Git Product home page Git Product logo

Comments (2)

corydolphin avatar corydolphin commented on August 16, 2024

@joonathan thank you for the bug report, I have found the issue and I a working on a fix.

I am confused that this does not seem to happen in Python != 2.7.9. I don't believe there were any backwards incompatible changes in the 2.7.9 released two days ago.

That said, I have simplified the decorator, so it no longer causes this problem, and is even more readable :-)

PR for reference #85

from flask-cors.

corydolphin avatar corydolphin commented on August 16, 2024

While I was able to repro this by upgrading a virtualenv, I am not able to replicate this in a clean install of 2.7.9. Looking at that stack trace, it looks like something wacky is going on with virtualenv. That stack trace spans multiple Python paths. I was able to cause a similar one:

Traceback (most recent call last):
  File "/Users/Cory/Development/flask-cors/tests/test_exception_interception.py", line 75, in test_acl_abort_500
    resp = self.get('/test_acl_abort_500')
  File "/Users/Cory/Development/flask-cors/tests/base_test.py", line 53, in get
    return self._request('get', *args, **kwargs)
  File "/Users/Cory/Development/flask-cors/tests/base_test.py", line 50, in _request
    return getattr(c, verb)(*args, **kwargs)
  File "/Users/Cory/Development/flask-cors/.env/lib/python2.7/site-packages/werkzeug/test.py", line 762, in get
    return self.open(*args, **kw)
  File "/Users/Cory/Development/flask-cors/.env/lib/python2.7/site-packages/flask/testing.py", line 108, in open
    follow_redirects=follow_redirects)
  File "/Users/Cory/Development/flask-cors/.env/lib/python2.7/site-packages/werkzeug/test.py", line 736, in open
    response = self.run_wsgi_app(environ, buffered=buffered)
  File "/Users/Cory/Development/flask-cors/.env/lib/python2.7/site-packages/werkzeug/test.py", line 659, in run_wsgi_app
    rv = run_wsgi_app(self.application, environ, buffered=buffered)
  File "/Users/Cory/Development/flask-cors/.env/lib/python2.7/site-packages/werkzeug/test.py", line 855, in run_wsgi_app
    app_iter = app(environ, start_response)
  File "/Users/Cory/Development/flask-cors/.env/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/Users/Cory/Development/flask-cors/.env/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/Users/Cory/Development/flask-cors/flask_cors.py", line 270, in decorator
    return update_wrapper(wrapped_function, f)
  File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/functools.py", line 33, in update_wrapper
    setattr(wrapper, attr, getattr(wrapped, attr))
AttributeError: 'exceptions.AttributeError' object has no attribute '__module__'

I am hopeful that this issue does not occur on a clean install of Python, fingers crossed it is just a OSX issue with virtualenv. I wish my automated testing had caught this! (Looks like Travis CI is still on 2.7.8)

Sorry for the trouble and thanks again for the awesome report!

from flask-cors.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.