#################################################################### # WARNING -- Do not edit this file! It is autogenerated each time # the notebook(...) command is executed. #################################################################### import sage.server.notebook.notebook sage.server.notebook.notebook.JSMATH=True import sage.server.notebook.notebook as notebook import sage.server.notebook.twist as twist twist.notebook = notebook.load_notebook("/home/was/talks/20070817-ccr/sage_notebook",address="localhost",port=8000,secure=False) twist.OPEN_MODE = True twist.SID_COOKIE = str(hash("/home/was/talks/20070817-ccr/sage_notebook")) twist.init_updates() import sage.server.notebook.worksheet as worksheet worksheet.init_sage_prestart(twist.notebook.get_server(), twist.notebook.get_ulimit()) import signal, sys def my_sigint(x, n): twist.notebook.save() signal.signal(signal.SIGINT, signal.SIG_DFL) print "(Notebook cleanly saved. Press control-C again to exit.)" signal.signal(signal.SIGINT, my_sigint) ## Use Knoboo's authentication framework from twisted.web2 import log, server, channel from twisted.cred import portal, checkers, credentials import sage.server.notebook.guard as guard import sage.server.notebook.avatars as avatars from twisted.cred import portal realm = avatars.LoginSystem() p = portal.Portal(realm) password_checker = avatars.PasswordChecker() p.registerChecker(password_checker) p.registerChecker(checkers.AllowAnonymousAccess()) rsrc = guard.MySessionWrapper(p) log.DefaultCommonAccessLoggingObserver().start() site = server.Site(rsrc) factory = channel.HTTPFactory(site) from twisted.web2 import channel from twisted.application import service, strports application = service.Application("SAGE Notebook") s = strports.service('tcp:8000', factory) from sage.server.misc import open_page; open_page('localhost', 8000, False) s.setServiceParent(application)