From b4cc999cfe1869e1ce3932db6cf4241266edc7ec Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Wed, 2 Feb 2011 12:25:33 +0000 Subject: [PATCH] Added Announcement API --- api/handlers/v1.py | 20 ++++++++++++++++++++ api/urls.py | 2 ++ 2 files changed, 22 insertions(+) diff --git a/api/handlers/v1.py b/api/handlers/v1.py index 5246395..870caf9 100644 --- a/api/handlers/v1.py +++ b/api/handlers/v1.py @@ -228,3 +228,23 @@ class CharacterHandler(BaseHandler): s = EVEPlayerCharacter.objects.filter(corporation__alliance__id=request.GET['allianceid']) return s +class AnnounceHandler(BaseHandler): + allowed_methods = ('GET') + + def read(self, request): + + sid = request.GET.get('sid', None) + to = request.GET.getlist('to') + message = request.GET.get('message', None) + subject = request.GET.get('subject', None) + + if sid and to and message: + srv = get_object_or_404(Service, pk=sid) + + if not srv.api == 'sso.services.jabber': + return {'result': 'invalid'} + + api = srv.api_class + return {'result': api.announce(api.settings['jabber_server'], message, subject, groups=to)} + + return {'result': 'invalid'} diff --git a/api/urls.py b/api/urls.py index a883523..c535a06 100755 --- a/api/urls.py +++ b/api/urls.py @@ -16,6 +16,7 @@ eveapiproxy_resource = Resource(handler=EveAPIProxyHandler, **apikeyauth) optimer_resource = Resource(handler=OpTimerHandler, **apikeyauth) blacklist_resource = Resource(handler=BlacklistHandler, **apikeyauth) characters_resource = Resource(handler=CharacterHandler, **apikeyauth) +announce_resource = Resource(handler=CharacterHandler, **apikeyauth) urlpatterns = patterns('', url(r'^user/$', user_resource), @@ -25,6 +26,7 @@ urlpatterns = patterns('', url(r'^character/$', characters_resource), url(r'^optimer/$', optimer_resource), url(r'^blacklist/$', blacklist_resource), + url(r'^announce/$', announce_resource), ) # v2 APIs