Change 'federation' name to 'api' which is more suitable
This commit is contained in:
parent
4aaa7fac14
commit
4fd520364f
@ -18,134 +18,127 @@ from mediagoblin.tools.routing import add_route
|
|||||||
|
|
||||||
# Add user profile
|
# Add user profile
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.user",
|
"media.api.user",
|
||||||
"/api/user/<string:username>/",
|
"/api/user/<string:username>/",
|
||||||
"mediagoblin.federation.views:user_endpoint",
|
"mediagoblin.api.views:user_endpoint",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.user.profile",
|
"mediagoblin.api.user.profile",
|
||||||
"/api/user/<string:username>/profile/",
|
"/api/user/<string:username>/profile/",
|
||||||
"mediagoblin.federation.views:profile_endpoint",
|
"mediagoblin.api.views:profile_endpoint",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
# Inbox and Outbox (feed)
|
# Inbox and Outbox (feed)
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.feed",
|
"mediagoblin.api.feed",
|
||||||
"/api/user/<string:username>/feed/",
|
"/api/user/<string:username>/feed/",
|
||||||
"mediagoblin.federation.views:feed_endpoint",
|
"mediagoblin.api.views:feed_endpoint",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.feed_major",
|
"mediagoblin.api.feed_major",
|
||||||
"/api/user/<string:username>/feed/major/",
|
"/api/user/<string:username>/feed/major/",
|
||||||
"mediagoblin.federation.views:feed_major_endpoint",
|
"mediagoblin.api.views:feed_major_endpoint",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.feed_minor",
|
"mediagoblin.api.feed_minor",
|
||||||
"/api/user/<string:username>/feed/minor/",
|
"/api/user/<string:username>/feed/minor/",
|
||||||
"mediagoblin.federation.views:feed_minor_endpoint",
|
"mediagoblin.api.views:feed_minor_endpoint",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.user.uploads",
|
"mediagoblin.api.user.uploads",
|
||||||
"/api/user/<string:username>/uploads/",
|
"/api/user/<string:username>/uploads/",
|
||||||
"mediagoblin.federation.views:uploads_endpoint",
|
"mediagoblin.api.views:uploads_endpoint",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.inbox",
|
"mediagoblin.api.inbox",
|
||||||
"/api/user/<string:username>/inbox/",
|
"/api/user/<string:username>/inbox/",
|
||||||
"mediagoblin.federation.views:inbox_endpoint",
|
"mediagoblin.api.views:inbox_endpoint",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.inbox_minor",
|
"mediagoblin.api.inbox_minor",
|
||||||
"/api/user/<string:username>/inbox/minor/",
|
"/api/user/<string:username>/inbox/minor/",
|
||||||
"mediagoblin.federation.views:inbox_minor_endpoint",
|
"mediagoblin.api.views:inbox_minor_endpoint",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.inbox_major",
|
"mediagoblin.api.inbox_major",
|
||||||
"/api/user/<string:username>/inbox/major/",
|
"/api/user/<string:username>/inbox/major/",
|
||||||
"mediagoblin.federation.views:inbox_major_endpoint",
|
"mediagoblin.api.views:inbox_major_endpoint",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.inbox_direct",
|
"mediagoblin.api.inbox_direct",
|
||||||
"/api/user/<string:username>/inbox/direct/",
|
"/api/user/<string:username>/inbox/direct/",
|
||||||
"mediagoblin.federation.views:inbox_endpoint",
|
"mediagoblin.api.views:inbox_endpoint",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.inbox_direct_minor",
|
"mediagoblin.api.inbox_direct_minor",
|
||||||
"/api/user/<string:username>/inbox/direct/minor/",
|
"/api/user/<string:username>/inbox/direct/minor/",
|
||||||
"mediagoblin.federation.views:inbox_minor_endpoint",
|
"mediagoblin.api.views:inbox_minor_endpoint",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.inbox_direct_major",
|
"mediagoblin.api.inbox_direct_major",
|
||||||
"/api/user/<string:username>/inbox/direct/major/",
|
"/api/user/<string:username>/inbox/direct/major/",
|
||||||
"mediagoblin.federation.views:inbox_major_endpoint",
|
"mediagoblin.api.views:inbox_major_endpoint",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
# object endpoints
|
# object endpoints
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.object",
|
"mediagoblin.api.object",
|
||||||
"/api/<string:object_type>/<string:id>/",
|
"/api/<string:object_type>/<string:id>/",
|
||||||
"mediagoblin.federation.views:object_endpoint",
|
"mediagoblin.api.views:object_endpoint",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.federation.object.comments",
|
"mediagoblin.api.object.comments",
|
||||||
"/api/<string:object_type>/<string:id>/comments/",
|
"/api/<string:object_type>/<string:id>/comments/",
|
||||||
"mediagoblin.federation.views:object_comments",
|
"mediagoblin.api.views:object_comments",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.webfinger.well-known.host-meta",
|
"mediagoblin.webfinger.well-known.host-meta",
|
||||||
"/.well-known/host-meta",
|
"/.well-known/host-meta",
|
||||||
"mediagoblin.federation.views:host_meta"
|
"mediagoblin.api.views:host_meta"
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.webfinger.well-known.host-meta.json",
|
"mediagoblin.webfinger.well-known.host-meta.json",
|
||||||
"/.well-known/host-meta.json",
|
"/.well-known/host-meta.json",
|
||||||
"mediagoblin.federation.views:host_meta"
|
"mediagoblin.api.views:host_meta"
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.webfinger.well-known.webfinger",
|
"mediagoblin.webfinger.well-known.webfinger",
|
||||||
"/.well-known/webfinger/",
|
"/.well-known/webfinger/",
|
||||||
"mediagoblin.federation.views:lrdd_lookup",
|
"mediagoblin.api.views:lrdd_lookup",
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
||||||
|
|
||||||
add_route(
|
add_route(
|
||||||
"mediagoblin.webfinger.whoami",
|
"mediagoblin.webfinger.whoami",
|
||||||
"/api/whoami/",
|
"/api/whoami/",
|
||||||
"mediagoblin.federation.views:whoami",
|
"mediagoblin.api.views:whoami",
|
||||||
match_slash=False
|
|
||||||
)
|
|
||||||
|
|
||||||
add_route(
|
|
||||||
"mediagoblin.federation.activity_view",
|
|
||||||
"/<string:username>/activity/<string:id>/",
|
|
||||||
"mediagoblin.federation.views:activity_view",
|
|
||||||
match_slash=False
|
match_slash=False
|
||||||
)
|
)
|
@ -21,7 +21,7 @@ import mimetypes
|
|||||||
from werkzeug.datastructures import FileStorage
|
from werkzeug.datastructures import FileStorage
|
||||||
|
|
||||||
from mediagoblin.decorators import oauth_required, require_active_login
|
from mediagoblin.decorators import oauth_required, require_active_login
|
||||||
from mediagoblin.federation.decorators import user_has_privilege
|
from mediagoblin.api.decorators import user_has_privilege
|
||||||
from mediagoblin.db.models import User, MediaEntry, MediaComment, Activity
|
from mediagoblin.db.models import User, MediaEntry, MediaComment, Activity
|
||||||
from mediagoblin.tools.federation import create_activity, create_generator
|
from mediagoblin.tools.federation import create_activity, create_generator
|
||||||
from mediagoblin.tools.routing import extract_url_arguments
|
from mediagoblin.tools.routing import extract_url_arguments
|
||||||
@ -641,7 +641,7 @@ def object_comments(request):
|
|||||||
"totalItems": 0,
|
"totalItems": 0,
|
||||||
"items": [],
|
"items": [],
|
||||||
"url": request.urlgen(
|
"url": request.urlgen(
|
||||||
"mediagoblin.federation.object.comments",
|
"mediagoblin.api.object.comments",
|
||||||
object_type=media.object_type,
|
object_type=media.object_type,
|
||||||
id=media.id,
|
id=media.id,
|
||||||
qualified=True
|
qualified=True
|
||||||
@ -721,7 +721,7 @@ def host_meta(request):
|
|||||||
# provide XML+XRD
|
# provide XML+XRD
|
||||||
return render_to_response(
|
return render_to_response(
|
||||||
request,
|
request,
|
||||||
"mediagoblin/federation/host-meta.xml",
|
"mediagoblin/api/host-meta.xml",
|
||||||
{"links": links},
|
{"links": links},
|
||||||
mimetype="application/xrd+xml"
|
mimetype="application/xrd+xml"
|
||||||
)
|
)
|
||||||
@ -762,7 +762,7 @@ def lrdd_lookup(request):
|
|||||||
{
|
{
|
||||||
"rel": "self",
|
"rel": "self",
|
||||||
"href": request.urlgen(
|
"href": request.urlgen(
|
||||||
"mediagoblin.federation.user",
|
"mediagoblin.api.user",
|
||||||
username=user.username,
|
username=user.username,
|
||||||
qualified=True
|
qualified=True
|
||||||
)
|
)
|
||||||
@ -770,7 +770,7 @@ def lrdd_lookup(request):
|
|||||||
{
|
{
|
||||||
"rel": "activity-outbox",
|
"rel": "activity-outbox",
|
||||||
"href": request.urlgen(
|
"href": request.urlgen(
|
||||||
"mediagoblin.federation.feed",
|
"mediagoblin.api.feed",
|
||||||
username=user.username,
|
username=user.username,
|
||||||
qualified=True
|
qualified=True
|
||||||
)
|
)
|
||||||
@ -786,40 +786,11 @@ def whoami(request):
|
|||||||
return json_error("Not logged in.", status=401)
|
return json_error("Not logged in.", status=401)
|
||||||
|
|
||||||
profile = request.urlgen(
|
profile = request.urlgen(
|
||||||
"mediagoblin.federation.user.profile",
|
"mediagoblin.api.user.profile",
|
||||||
username=request.user.username,
|
username=request.user.username,
|
||||||
qualified=True
|
qualified=True
|
||||||
)
|
)
|
||||||
|
|
||||||
return redirect(request, location=profile)
|
return redirect(request, location=profile)
|
||||||
|
|
||||||
@require_active_login
|
|
||||||
def activity_view(request):
|
|
||||||
""" /<username>/activity/<id> - Display activity
|
|
||||||
|
|
||||||
This should display a HTML presentation of the activity
|
|
||||||
this is NOT an API endpoint.
|
|
||||||
"""
|
|
||||||
# Get the user object.
|
|
||||||
username = request.matchdict["username"]
|
|
||||||
user = User.query.filter_by(username=username).first()
|
|
||||||
|
|
||||||
activity_id = request.matchdict["id"]
|
|
||||||
|
|
||||||
if request.user is None:
|
|
||||||
return render_404(request)
|
|
||||||
|
|
||||||
activity = Activity.query.filter_by(
|
|
||||||
id=activity_id,
|
|
||||||
author=user.id
|
|
||||||
).first()
|
|
||||||
if activity is None:
|
|
||||||
return render_404(request)
|
|
||||||
|
|
||||||
return render_to_response(
|
|
||||||
request,
|
|
||||||
"mediagoblin/federation/activity.html",
|
|
||||||
{"activity": activity}
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
@ -388,7 +388,7 @@ class ActivityMixin(object):
|
|||||||
|
|
||||||
def get_url(self, request):
|
def get_url(self, request):
|
||||||
return request.urlgen(
|
return request.urlgen(
|
||||||
"mediagoblin.federation.activity_view",
|
"mediagoblin.user_pages.activity_view",
|
||||||
username=self.get_actor.username,
|
username=self.get_actor.username,
|
||||||
id=self.id,
|
id=self.id,
|
||||||
qualified=True
|
qualified=True
|
||||||
@ -473,7 +473,7 @@ class ActivityMixin(object):
|
|||||||
|
|
||||||
def serialize(self, request):
|
def serialize(self, request):
|
||||||
href = request.urlgen(
|
href = request.urlgen(
|
||||||
"mediagoblin.federation.object",
|
"mediagoblin.api.object",
|
||||||
object_type=self.object_type,
|
object_type=self.object_type,
|
||||||
id=self.id,
|
id=self.id,
|
||||||
qualified=True
|
qualified=True
|
||||||
|
@ -228,21 +228,21 @@ class User(Base, UserMixin):
|
|||||||
"links": {
|
"links": {
|
||||||
"self": {
|
"self": {
|
||||||
"href": request.urlgen(
|
"href": request.urlgen(
|
||||||
"mediagoblin.federation.user.profile",
|
"mediagoblin.api.user.profile",
|
||||||
username=self.username,
|
username=self.username,
|
||||||
qualified=True
|
qualified=True
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
"activity-inbox": {
|
"activity-inbox": {
|
||||||
"href": request.urlgen(
|
"href": request.urlgen(
|
||||||
"mediagoblin.federation.inbox",
|
"mediagoblin.api.inbox",
|
||||||
username=self.username,
|
username=self.username,
|
||||||
qualified=True
|
qualified=True
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
"activity-outbox": {
|
"activity-outbox": {
|
||||||
"href": request.urlgen(
|
"href": request.urlgen(
|
||||||
"mediagoblin.federation.feed",
|
"mediagoblin.api.feed",
|
||||||
username=self.username,
|
username=self.username,
|
||||||
qualified=True
|
qualified=True
|
||||||
)
|
)
|
||||||
@ -532,7 +532,7 @@ class MediaEntry(Base, MediaEntryMixin):
|
|||||||
def serialize(self, request, show_comments=True):
|
def serialize(self, request, show_comments=True):
|
||||||
""" Unserialize MediaEntry to object """
|
""" Unserialize MediaEntry to object """
|
||||||
href = request.urlgen(
|
href = request.urlgen(
|
||||||
"mediagoblin.federation.object",
|
"mediagoblin.api.object",
|
||||||
object_type=self.object_type,
|
object_type=self.object_type,
|
||||||
id=self.id,
|
id=self.id,
|
||||||
qualified=True
|
qualified=True
|
||||||
@ -584,7 +584,7 @@ class MediaEntry(Base, MediaEntryMixin):
|
|||||||
"totalItems": total,
|
"totalItems": total,
|
||||||
"items": comments,
|
"items": comments,
|
||||||
"url": request.urlgen(
|
"url": request.urlgen(
|
||||||
"mediagoblin.federation.object.comments",
|
"mediagoblin.api.object.comments",
|
||||||
object_type=self.object_type,
|
object_type=self.object_type,
|
||||||
id=self.id,
|
id=self.id,
|
||||||
qualified=True
|
qualified=True
|
||||||
@ -778,7 +778,7 @@ class MediaComment(Base, MediaCommentMixin):
|
|||||||
def serialize(self, request):
|
def serialize(self, request):
|
||||||
""" Unserialize to python dictionary for API """
|
""" Unserialize to python dictionary for API """
|
||||||
href = request.urlgen(
|
href = request.urlgen(
|
||||||
"mediagoblin.federation.object",
|
"mediagoblin.api.object",
|
||||||
object_type=self.object_type,
|
object_type=self.object_type,
|
||||||
id=self.id,
|
id=self.id,
|
||||||
qualified=True
|
qualified=True
|
||||||
@ -1243,7 +1243,7 @@ class Generator(Base):
|
|||||||
|
|
||||||
def serialize(self, request):
|
def serialize(self, request):
|
||||||
href = request.urlgen(
|
href = request.urlgen(
|
||||||
"mediagoblin.federation.object",
|
"mediagoblin.api.object",
|
||||||
object_type=self.object_type,
|
object_type=self.object_type,
|
||||||
id=self.id,
|
id=self.id,
|
||||||
qualified=True
|
qualified=True
|
||||||
|
@ -38,7 +38,7 @@ def get_url_map():
|
|||||||
import mediagoblin.listings.routing
|
import mediagoblin.listings.routing
|
||||||
import mediagoblin.notifications.routing
|
import mediagoblin.notifications.routing
|
||||||
import mediagoblin.oauth.routing
|
import mediagoblin.oauth.routing
|
||||||
import mediagoblin.federation.routing
|
import mediagoblin.api.routing
|
||||||
|
|
||||||
for route in PluginManager().get_routes():
|
for route in PluginManager().get_routes():
|
||||||
add_route(*route)
|
add_route(*route)
|
||||||
|
@ -31,6 +31,10 @@ add_route('mediagoblin.user_pages.media_confirm_delete',
|
|||||||
'/u/<string:user>/m/<int:media_id>/confirm-delete/',
|
'/u/<string:user>/m/<int:media_id>/confirm-delete/',
|
||||||
'mediagoblin.user_pages.views:media_confirm_delete')
|
'mediagoblin.user_pages.views:media_confirm_delete')
|
||||||
|
|
||||||
|
add_route('mediagoblin.user_pages.activity_view',
|
||||||
|
'/<string:username>/activity/<string:id>/',
|
||||||
|
'mediagoblin.user_pages.views:activity_view')
|
||||||
|
|
||||||
# Submission handling of new comments. TODO: only allow for POST methods
|
# Submission handling of new comments. TODO: only allow for POST methods
|
||||||
add_route('mediagoblin.user_pages.media_post_comment',
|
add_route('mediagoblin.user_pages.media_post_comment',
|
||||||
'/u/<string:user>/m/<int:media_id>/comment/add/',
|
'/u/<string:user>/m/<int:media_id>/comment/add/',
|
||||||
|
@ -22,7 +22,7 @@ import six
|
|||||||
|
|
||||||
from mediagoblin import messages, mg_globals
|
from mediagoblin import messages, mg_globals
|
||||||
from mediagoblin.db.models import (MediaEntry, MediaTag, Collection,
|
from mediagoblin.db.models import (MediaEntry, MediaTag, Collection,
|
||||||
CollectionItem, User)
|
CollectionItem, User, Activity)
|
||||||
from mediagoblin.tools.response import render_to_response, render_404, \
|
from mediagoblin.tools.response import render_to_response, render_404, \
|
||||||
redirect, redirect_obj
|
redirect, redirect_obj
|
||||||
from mediagoblin.tools.text import cleaned_markdown_conversion
|
from mediagoblin.tools.text import cleaned_markdown_conversion
|
||||||
@ -695,3 +695,34 @@ def file_a_report(request, media, comment):
|
|||||||
request,
|
request,
|
||||||
'mediagoblin/user_pages/report.html',
|
'mediagoblin/user_pages/report.html',
|
||||||
context)
|
context)
|
||||||
|
|
||||||
|
@require_active_login
|
||||||
|
def activity_view(request):
|
||||||
|
""" /<username>/activity/<id> - Display activity
|
||||||
|
|
||||||
|
This should display a HTML presentation of the activity
|
||||||
|
this is NOT an API endpoint.
|
||||||
|
"""
|
||||||
|
# Get the user object.
|
||||||
|
username = request.matchdict["username"]
|
||||||
|
user = User.query.filter_by(username=username).first()
|
||||||
|
|
||||||
|
activity_id = request.matchdict["id"]
|
||||||
|
|
||||||
|
if request.user is None:
|
||||||
|
return render_404(request)
|
||||||
|
|
||||||
|
activity = Activity.query.filter_by(
|
||||||
|
id=activity_id,
|
||||||
|
author=user.id
|
||||||
|
).first()
|
||||||
|
|
||||||
|
if activity is None:
|
||||||
|
return render_404(request)
|
||||||
|
|
||||||
|
return render_to_response(
|
||||||
|
request,
|
||||||
|
"mediagoblin/api/activity.html",
|
||||||
|
{"activity": activity}
|
||||||
|
)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user