add /info view for debugging purposes

pull/41/head
Martin Zimmermann 11 years ago
parent e77ae273f4
commit 8dac5375b6

@ -60,7 +60,7 @@ from werkzeug.contrib.fixers import ProxyFix
local = Local() local = Local()
local_manager = LocalManager([local]) local_manager = LocalManager([local])
from isso import db, migrate, wsgi, ext from isso import db, migrate, wsgi, ext, views
from isso.core import ThreadedMixin, uWSGIMixin, Config from isso.core import ThreadedMixin, uWSGIMixin, Config
from isso.utils import parse, http, JSONRequest, origin from isso.utils import parse, http, JSONRequest, origin
from isso.views import comments from isso.views import comments
@ -96,7 +96,9 @@ class Isso(object):
self.signal = ext.Signal(*subscribers) self.signal = ext.Signal(*subscribers)
self.urls = Map() self.urls = Map()
self.api = comments.API(self)
views.Info(self)
comments.API(self)
def sign(self, obj): def sign(self, obj):
return self.signer.dumps(obj) return self.signer.dumps(obj)

@ -1,7 +1,19 @@
# -*- encoding: utf-8 -*- # -*- encoding: utf-8 -*-
from __future__ import unicode_literals
import pkg_resources
dist = pkg_resources.get_distribution("isso")
import json
from werkzeug.wrappers import Response
from werkzeug.routing import Rule
from werkzeug.exceptions import BadRequest from werkzeug.exceptions import BadRequest
from isso import local
from isso.compat import text_type as str
class requires: class requires:
"""Verify that the request URL contains and can parse the parameter. """Verify that the request URL contains and can parse the parameter.
@ -33,3 +45,21 @@ class requires:
return func(cls, env, req, *args, **kwargs) return func(cls, env, req, *args, **kwargs)
return dec return dec
class Info(object):
def __init__(self, isso):
self.moderation = isso.conf.getboolean("moderation", "enabled")
isso.urls.add(Rule('/info', endpoint=self.show))
def show(self, environ, request):
rv = {
"version": dist.version,
"host": str(local("host")),
"origin": str(local("origin")),
"moderation": self.moderation,
}
return Response(json.dumps(rv), 200, content_type="application/json")

Loading…
Cancel
Save