From baf5f96d25c5f378169ac910f9535d29a9546e3e Mon Sep 17 00:00:00 2001 From: Leif Johansson Date: Tue, 8 Nov 2011 14:10:17 +0100 Subject: produce a basic group-oriented activity stream --- coip/apps/opensocial/activitystreams/__init__.py | 0 coip/apps/opensocial/activitystreams/managers.py | 17 +++++++++++++++++ coip/apps/opensocial/activitystreams/urls.py | 10 ++++++++++ coip/apps/opensocial/activitystreams/views.py | 14 ++++++++++++++ 4 files changed, 41 insertions(+) create mode 100644 coip/apps/opensocial/activitystreams/__init__.py create mode 100644 coip/apps/opensocial/activitystreams/managers.py create mode 100644 coip/apps/opensocial/activitystreams/urls.py create mode 100644 coip/apps/opensocial/activitystreams/views.py (limited to 'coip/apps/opensocial/activitystreams') diff --git a/coip/apps/opensocial/activitystreams/__init__.py b/coip/apps/opensocial/activitystreams/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/coip/apps/opensocial/activitystreams/managers.py b/coip/apps/opensocial/activitystreams/managers.py new file mode 100644 index 0000000..aaa73f9 --- /dev/null +++ b/coip/apps/opensocial/activitystreams/managers.py @@ -0,0 +1,17 @@ +''' +Created on Nov 8, 2011 + +@author: leifj +''' +from actstream.models import ActionManager +from actstream.views import stream +from datetime import datetime + + +class NameActionManager(ActionManager): + + @stream + def name_activities(self, name, time=None): + if time is None: + time = datetime.now() + return name.actor_actions.filter(timestamp__lte = time) \ No newline at end of file diff --git a/coip/apps/opensocial/activitystreams/urls.py b/coip/apps/opensocial/activitystreams/urls.py new file mode 100644 index 0000000..e5d0d94 --- /dev/null +++ b/coip/apps/opensocial/activitystreams/urls.py @@ -0,0 +1,10 @@ +''' +Created on Nov 7, 2011 + +@author: leifj +''' +from django.conf.urls.defaults import patterns, url + +urlpatterns = patterns('', + url(r'^@any/(?P[0-9]+)', view='coip.apps.activitystreams.urls') +) \ No newline at end of file diff --git a/coip/apps/opensocial/activitystreams/views.py b/coip/apps/opensocial/activitystreams/views.py new file mode 100644 index 0000000..a99bec3 --- /dev/null +++ b/coip/apps/opensocial/activitystreams/views.py @@ -0,0 +1,14 @@ +''' +Created on Nov 8, 2011 + +@author: leifj +''' +from django.shortcuts import get_object_or_404 +from coip.apps.name.models import Name +from coip.multiresponse import json_response + +@oauth2_required(scope='memberships') +def name(request,id): + name = get_object_or_404(Name,pk=id) + # check ownership + return json_response(name.actor_actions.name_activities()) \ No newline at end of file -- cgit v1.1