Opened 9 years ago

Closed 7 years ago

Last modified 6 years ago

#13535 closed defect (fixed)

Fix instrospection/... in live documentation with the flask notebook

Reported by: nthiery Owned by: jason, mpatel, was
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: notebook Keywords: agregation, bobo2012
Cc: Merged in:
Authors: Reviewers: Nicolas M. Thiéry, Karl-Dieter Crisman
Report Upstream: Workaround found; Bug reported upstream. Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by chapoton)

How to reproduce on Sage 5.3 main on Unbuntu 11.10. Run:

   sage -notebook

Go to any help page, and type in

   o = 3
   o.<tab>

Nothing happens and the following traceback appears in the terminal where sage-notebook was launched:

Traceback (most recent call last):
  File "/opt/sage-5.3/local/lib/python2.7/site-packages/Twisted-12.1.0-py2.7-linux-x86_64.egg/twisted/python/threadpool.py", line 190, in _worker
    o = self.q.get()
  File "/opt/sage-5.3/local/lib/python2.7/site-packages/Twisted-12.1.0-py2.7-linux-x86_64.egg/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/opt/sage-5.3/local/lib/python2.7/site-packages/Twisted-12.1.0-py2.7-linux-x86_64.egg/twisted/python/context.py", line 83, in callWithContext
    self.contexts.pop()
  File "/opt/sage-5.3/local/lib/python2.7/site-packages/Twisted-12.1.0-py2.7-linux-x86_64.egg/twisted/web/wsgi.py", line 340, in run
    self.started = True
--- <exception caught here> ---
  File "/opt/sage-5.3/local/lib/python2.7/site-packages/Twisted-12.1.0-py2.7-linux-x86_64.egg/twisted/web/wsgi.py", line 315, in run
    appIterator = self.application(self.environ, self.startResponse)
  File "/opt/sage-5.3/local/lib/python2.7/site-packages/Flask-0.9-py2.7.egg/flask/app.py", line 1701, in __call__
    return self.wsgi_app(environ, start_response)
  File "/opt/sage-5.3/local/lib/python2.7/site-packages/Flask-0.9-py2.7.egg/flask/app.py", line 1689, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/opt/sage-5.3/local/lib/python2.7/site-packages/Flask-0.9-py2.7.egg/flask/app.py", line 1687, in wsgi_app
    response = self.full_dispatch_request()
  File "/opt/sage-5.3/local/lib/python2.7/site-packages/Flask-0.9-py2.7.egg/flask/app.py", line 1360, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/opt/sage-5.3/local/lib/python2.7/site-packages/Flask-0.9-py2.7.egg/flask/app.py", line 1358, in full_dispatch_request
    rv = self.dispatch_request()
  File "/opt/sage-5.3/local/lib/python2.7/site-packages/Flask-0.9-py2.7.egg/flask/app.py", line 1344, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/opt/sage-5.3/devel/sagenb/flask_version/decorators.py", line 27, in wrapper
    return f(*args, **kwds)
  File "/opt/sage-5.3/devel/sagenb/flask_version/worksheet.py", line 45, in wrapper
    return f(username, id, **kwds)
  File "/opt/sage-5.3/devel/sagenb/flask_version/worksheet.py", line 115, in wrapper
    raise NotImplementedError("User _sage_ can not access URL %s"%target)
exceptions.NotImplementedError: User _sage_ can not access URL introspect

There is no such failure in 5.1.

The attached patch fixes the white list to enable some missing notebook actions and features in the live documentation:

  • Introspection
  • Delete all output
  • Copy worksheet
  • New cell after
  • Restart Sage

There certainly are more of them that should be added. I let a notebook expert complete the list.

Attachments (1)

trac_13535_live_introspection_flask-nt.patch (1.2 KB) - added by nthiery 8 years ago.

Download all attachments as: .zip

Change History (20)

comment:1 Changed 9 years ago by nthiery

In case this would be related, I just got the following message "exceptions.NotImplementedError?: User _sage_ can not access URL copy" while trying to make a copy of such a dynamic help page.

comment:2 Changed 9 years ago by nthiery

  • Keywords agregation added

comment:3 Changed 8 years ago by nthiery

  • Authors set to Nicolas M. Thiéry
  • Keywords bobo2012 added
  • Status changed from new to needs_review
  • Summary changed from Tab completion failing on dynamic help pages on 5.3 to Fix instrospection/... in live documentation with the flask notebook

Changed 8 years ago by nthiery

comment:4 Changed 8 years ago by nthiery

  • Description modified (diff)

comment:5 Changed 8 years ago by nthiery

  • Authors Nicolas M. Thiéry deleted
  • Report Upstream changed from N/A to Fixed upstream, in a later stable release.
  • Reviewers set to Nicolas M. Thiéry
  • Status changed from needs_review to positive_review

Keshav made this into a pull request on github. This ticket can be closed here.

comment:6 Changed 8 years ago by kini

  • Report Upstream changed from Fixed upstream, in a later stable release. to Fixed upstream, but not in a stable release.

comment:7 Changed 8 years ago by kini

  • Milestone changed from sage-5.9 to sage-duplicate/invalid/wontfix

comment:8 follow-up: Changed 8 years ago by kcrisman

  • Report Upstream changed from Fixed upstream, but not in a stable release. to Workaround found; Bug reported upstream.
  • Status changed from positive_review to needs_info

I have changed this to "reported upstream, developers acknowledge bug". Nicolas, we wouldn't close a ticket for an upstream bug until we actually merged that functionality into Sage - it isn't sufficient to just report the bug! Who knows if it would ever be fixed? Luckily, we have a "good relationship" with sagenb :) but with other spkgs, especially ones that are essentially not being developed any more, that may not be the case (see for instance #13947). It doesn't seem reasonable to grant sagenb some sort of "most favored" status that assumes all bugs will eventually be addressed.

In fact, this isn't even fixed upstream yet - just a pull request - though presumably it will be merged into a devel release of sagenb relatively soon.

comment:9 Changed 8 years ago by kini

Yup, OK.

comment:10 Changed 8 years ago by kini

  • Milestone changed from sage-duplicate/invalid/wontfix to sage-5.9

In fact, this isn't even fixed upstream yet - just a pull request - though presumably it will be merged into a devel release of sagenb relatively soon.

Yes, probably, and probably even get into Sage relatively soon (I hope). See #14330.

comment:11 in reply to: ↑ 8 ; follow-up: Changed 8 years ago by nthiery

Hi Karl!

Replying to kcrisman:

I have changed this to "reported upstream, developers acknowledge bug". Nicolas, we wouldn't close a ticket for an upstream bug until we actually merged that functionality into Sage - it isn't sufficient to just report the bug! Who knows if it would ever be fixed? Luckily, we have a "good relationship" with sagenb :) but with other spkgs, especially ones that are essentially not being developed any more, that may not be the case (see for instance #13947). It doesn't seem reasonable to grant sagenb some sort of "most favored" status that assumes all bugs will eventually be addressed.

In fact, this isn't even fixed upstream yet - just a pull request - though presumably it will be merged into a devel release of sagenb relatively soon.

Well, I guess my idea was that this ticket should never have been created here in the first place, since notebook development occurs elsewhere. We don't want to create tickets here for every bug / pull request on the sagenb web-site, right?

Anyway, I don't mind either way.

Cheers,

Nicolas

comment:12 in reply to: ↑ 11 Changed 8 years ago by kcrisman

Well, I guess my idea was that this ticket should never have been created here in the first place, since notebook development occurs elsewhere. We don't want to create tickets here for every bug / pull request on the sagenb web-site, right?

For sure, but that argument would apply to other spkgs as well. I think it does make sense to encourage people to report to sagenb. Though I've noticed that things reported both places have much higher visibility, and it might make things more likely to be resolved if it's on the "official" Sage Trac.

comment:13 Changed 8 years ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:14 Changed 7 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:15 Changed 7 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:16 Changed 7 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:17 Changed 7 years ago by kcrisman

  • Milestone changed from sage-6.4 to sage-duplicate/invalid/wontfix
  • Reviewers changed from Nicolas M. Thiéry to Nicolas M. Thiéry, Karl-Dieter Crisman
  • Status changed from needs_info to positive_review

This was fixed long ago by https://github.com/sagemath/sagenb/pull/143 as noted above.

comment:18 Changed 7 years ago by vbraun

  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:19 Changed 6 years ago by chapoton

  • Description modified (diff)
Note: See TracTickets for help on using tickets.