Search code examples
pythonserveruricloud9-ideweb.py

Cloud9: Running a python server


In my Cloud9 IDE, which is running on Ubuntu I have encountered a problem in trying to reach my Python server externally. It's because their projects use a non-standard naming structure:

https://preview.c9users.io/{user}/{project}/

Changing the address to something like this, which is the default server address, doesn't help:

https://preview.c9users.io:8080/{user}/{project}/

I'm looking for a solution so I can run the following script or for a way to be able to combine HTML+JS+Python on Cloud9. The purpose of the server should be to respond to AJAX calls.

The Cloud9 server is Ubuntu-based, so there may be other ways to address this problem than just my script below.

import web

def make_text(string):
    return string

urls = ('/', 'tutorial')
render = web.template.render('templates/')

app = web.application(urls, globals())

my_form = web.form.Form(
                web.form.Textbox('', class_='textfield', id='textfield'),
                )

class tutorial:
    def GET(self):
        form = my_form()
        return render.tutorial(form, "Your text goes here.")

    def POST(self):
        form = my_form()
        form.validates()
        s = form.value['textfield']
        return make_text(s)

if __name__ == '__main__':
    app.run()

Solution

  • The server above actually runs and is available through URL in special format. It has been changed since earlier version, so I couldn't find it at first:

    http://{workspacename}-{username}.c9users.io

    Now I prefer to run it as a service (daemon) in the console window to execute additional scripts in the backend and test frontend functionality.