From c7d09949232960096c64ee38082e50b3654dd132 Mon Sep 17 00:00:00 2001 From: nyov Date: Tue, 5 Jun 2012 04:38:06 +0200 Subject: [PATCH] Use jsonp renderer for remote requests (or this API would be pretty moot) JSONP allows cross-domain requests by wrapping output in a function call if requested. Requires pyramid>=1.1 --- XonStat.egg-info/requires.txt | 2 +- xonstat/__init__.py | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/XonStat.egg-info/requires.txt b/XonStat.egg-info/requires.txt index 2950c07..fdef497 100644 --- a/XonStat.egg-info/requires.txt +++ b/XonStat.egg-info/requires.txt @@ -1,4 +1,4 @@ -pyramid +pyramid>=1.1 SQLAlchemy transaction repoze.tm2>=1.0b1 diff --git a/xonstat/__init__.py b/xonstat/__init__.py index 2e45a08..9b66b81 100644 --- a/xonstat/__init__.py +++ b/xonstat/__init__.py @@ -1,5 +1,6 @@ import sqlahelper from pyramid.config import Configurator +from pyramid.renderers import JSONP from sqlalchemy import engine_from_config from xonstat.models import initialize_db from xonstat.views import * @@ -18,6 +19,8 @@ def main(global_config, **settings): config.add_static_view('static', 'xonstat:static') + config.add_renderer('jsonp', JSONP(param_name='callback')) + # ROOT ROUTE config.add_route("main_index", "/") config.add_view(main_index, route_name="main_index", renderer="main_index.mako") @@ -38,8 +41,8 @@ def main(global_config, **settings): config.add_route("player_accuracy", "/player/{id:\d+}/accuracy") config.add_route("player_accuracy_json", "/player/{id:\d+}/accuracy.json") - config.add_view(player_accuracy_json, route_name="player_accuracy", renderer="json") - config.add_view(player_accuracy_json, route_name="player_accuracy_json", renderer="json") + config.add_view(player_accuracy_json, route_name="player_accuracy", renderer="jsonp") + config.add_view(player_accuracy_json, route_name="player_accuracy_json", renderer="jsonp") # GAME ROUTES config.add_route("game_index", "/games") @@ -65,7 +68,7 @@ def main(global_config, **settings): config.add_route("map_index", "/maps") config.add_route("map_index_json", "/maps.json") config.add_view(map_index, route_name="map_index", renderer="map_index.mako") - config.add_view(map_index_json, route_name="map_index_json", renderer="json") + config.add_view(map_index_json, route_name="map_index_json", renderer="jsonp") config.add_route("map_info", "/map/{id:\d+}") config.add_view(map_info, route_name="map_info", renderer="map_info.mako") -- 2.39.2