Пример #1
0
def run_notebook_server(request):
    """ Deprecated now -- Launces the notebook server """
    username = request.user.username
    
    # first time actions
    user_login.initialize_user_path(username)
    
    #
    u = User.objects.get(username=username)
    users =  UserProfile.objects.filter(user=u)
    if users:
        user = users[0]
    else:
        user = UserProfile.objects.create(user=u)
        user.nbserver_port = nc.NB_SERVER_PORT_BASE + int(user.user.id)
        user.nbserver_password = _get_nbserver_password()
        user.save()
    
    if os.path.exists('/proc/{0}'.format(user.nbserver_pid)): # nb server already up
        time.sleep(1)
        return HttpResponseRedirect('{0}:{1}'.format(nc.BASE_URL, user.nbserver_port))                   
    else: # first time or server not running
        ip_dir = '{0}/{1}/.ipython'.format(nc.DATA_DIR, username)
        nbserver_password_sha1 = passwd(user.nbserver_password)
        user.nbserver_pid = _run_server(ip_dir, user.nbserver_port, nbserver_password_sha1)
        user.save()            
        # sleep to let server start listening
        time.sleep(3)
        return HttpResponseRedirect('{0}:{1}'.format(nc.BASE_URL, user.nbserver_port))
        
    # show a maint msg
    return HttpResponse("<html> Server is under maintenance! Please try later.</html>")
Пример #2
0
def account_settings(request):
    """ Shows the Notebook server settings """
    username = request.user.username
   
    # first time actions
    user_login.initialize_user_path(username)


    u = User.objects.get(username=username)
    users =  UserProfile.objects.filter(user=u)
    if users:
        user = users[0]
    else:
	user = UserProfile.objects.create(user=u)
        user.nbserver_port = nc.NB_SERVER_PORT_BASE + int(user.user.id)
        user.nbserver_password = _get_nbserver_password()
        user.save()

    # Run the server, if not running yet
    if os.path.exists('/proc/{0}'.format(user.nbserver_pid)): # nb server already up
        time.sleep(1)
    else: # first time or server not running
        ip_dir = '{0}/{1}/.ipython'.format(nc.DATA_DIR, username)
        nbserver_password_sha1 = passwd(user.nbserver_password)
        user.nbserver_pid = _run_server(ip_dir, user.nbserver_port, nbserver_password_sha1)
        user.save()
        # sleep to let server start listening
        time.sleep(3)

    ctx =  {'nbserver_password' : user.nbserver_password,
            'nbserver_url' : '{0}:{1}'.format(nc.BASE_URL, user.nbserver_port)}
    return render_to_response('account/settings.html', ctx, context_instance=RequestContext(request))