Merge branch 'feature/info'

pull/41/head
Martin Zimmermann 11 years ago
commit c9c0df229a

@ -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