#!/usr/bin/env python

import web
import os
import sys
import json

# to avoid any path issues, "cd" to the web root.
web_root = os.path.abspath(os.path.dirname(__file__))
os.chdir(web_root)
        
urls = (
    '/getanythingyouwant', 'getanythingyouwant',
    '/getregionsashtml', 'getregionsashtml',
    '/getregionsasjson', 'getregionsasjson'
)
app = web.application(urls, globals())

class getregionsasjson:        
    def POST(self):
        try:
            country = getAjaxArg("country")

            #something here would populate this as needed
            if country == "USA":
                return json.dumps(["Alabama", "Georgia", "Michigan", "Texas"])       
            if country == "Canada":
                return json.dumps(["Newfoundland", "Manitoba", "Alberta", "France (quebec) :-)"])

        except Exception, ex:
            print ex.__str__()    

class getregionsashtml:        
    def POST(self):
        try:
            country = getAjaxArg("country")

            #something here would populate this as needed
            if country == "USA":
                return """
                <option value='Virginia'>Virginia</option>
                <option value='Tennessee'>Tennessee</option>
                """
            if country == "Canada":
                return """
                <option value='Nunavit'>Nunavit</option>
                <option value='Sascatchewan'>Sascatchewan</option>
                """
        except Exception, ex:
            print ex.__str__()    

class getanythingyouwant:        
    def POST(self):
        try:
            return """You could do anything you wanted in here.  Full html, go get content from another
            site using urllib, parse an rss feed and format it for your site, etc.
            """
        except Exception, ex:
            print ex.__str__()    


def getAjaxArg(arg, default=""):
    """jQuery POSTS send along JSON data.  This picks out and returns a single value."""
    data = web.data()
    if data:
        dic = json.loads(data)
    
        if dic.has_key(arg):
            if dic[arg]:
                return dic[arg]
            else:
                return default
        else:
            return default
    else:
        return default



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