I have several Mac each of them with its own instance of SAGE and I used to share my notebooks via a symlink to a directory on Dropbox : each .sage directory on each machine had sage_notebook.sagenb symlinked to a directory on my dropbox. It worked well under version 5.0. Now I get the error below. I hoped that it would be solved with further versions but not yet. What did change in SAGE and what could I do now ?
2012-11-06 08:33:59+0100 [-] Log opened.
2012-11-06 08:33:59+0100 [-] twistd 12.1.0 (/Applications/sage/local/bin/python 2.7.3) starting up.
2012-11-06 08:33:59+0100 [-] reactor class: twisted.internet.selectreactor.SelectReactor.
2012-11-06 08:33:59+0100 [-] QuietSite starting on 8080
2012-11-06 08:33:59+0100 [-] Starting factory <__builtin__.QuietSite instance at 0x10ce05878>
2012-11-06 08:33:59+0100 [-] WSGI application error
Traceback (most recent call last):
File "/Applications/sage/local/lib/python2.7/site-packages/Twisted-12.1.0-py2.7-macosx-10.6-x86_64.egg/twisted/python/threadpool.py", line 190, in _worker
o = self.q.get()
File "/Applications/sage/local/lib/python2.7/site-packages/Twisted-12.1.0-py2.7-macosx-10.6-x86_64.egg/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "/Applications/sage/local/lib/python2.7/site-packages/Twisted-12.1.0-py2.7-macosx-10.6-x86_64.egg/twisted/python/context.py", line 83, in callWithContext
self.contexts.pop()
File "/Applications/sage/local/lib/python2.7/site-packages/Twisted-12.1.0-py2.7-macosx-10.6-x86_64.egg/twisted/web/wsgi.py", line 340, in run
self.started = True
--- <exception caught here> ---
File "/Applications/sage/local/lib/python2.7/site-packages/Twisted-12.1.0-py2.7-macosx-10.6-x86_64.egg/twisted/web/wsgi.py", line 315, in run
appIterator = self.application(self.environ, self.startResponse)
File "/Applications/sage/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 "/Applications/sage/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 "/Applications/sage/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 "/Applications/sage/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 "/Applications/sage/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 "/Applications/sage/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 "/Applications/sage/devel/sagenb/flask_version/decorators.py", line 27, in wrapper
return f(*args, **kwds)
File "/Applications/sage/devel/sagenb/flask_version/worksheet_listing.py", line 88, in home
return render_worksheet_list(request.args, pub=False, username=username)
File "/Applications/sage/devel/sagenb/flask_version/worksheet_listing.py", line 50, in render_worksheet_list
search=search, reverse=reverse)
File "/Applications/sage/devel/sagenb/sagenb/notebook/notebook.py", line 1277, in worksheet_list_for_user
X = self.get_worksheets_with_viewer(user)
File "/Applications/sage/devel/sagenb/sagenb/notebook/notebook.py", line 1455, in get_worksheets_with_viewer
if self._user_manager.user_is_admin(username): return self.get_all_worksheets()
File "/Applications/sage/devel/sagenb/sagenb/notebook/notebook.py", line 1450, in get_all_worksheets
for w in self.users_worksheets(username):
File "/Applications/sage/devel/sagenb/sagenb/notebook/notebook.py", line 367, in users_worksheets
worksheets = self.__storage.worksheets(username)
File "/Applications/sage/devel/sagenb/sagenb/storage/filesystem_storage.py", line 596, in worksheets
path = self._abspath(self._user_path(username))
File "/Applications/sage/devel/sagenb/sagenb/storage/filesystem_storage.py", line 115, in _user_path
os.rename(path, new_path)
exceptions.OSError: [Errno 66] Directory not empty