Rebrand sexp → sx across web platform (173 files)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 11m37s
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 11m37s
Rename all sexp directories, files, identifiers, and references to sx. artdag/ excluded (separate media processing DSL). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -99,8 +99,8 @@ def register(url_prefix="/auth"):
|
||||
# If there's a pending redirect (e.g. OAuth authorize), follow it
|
||||
redirect_url = pop_login_redirect_target()
|
||||
return redirect(redirect_url)
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_login_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_login_page
|
||||
ctx = await get_template_context()
|
||||
return await render_login_page(ctx)
|
||||
|
||||
@@ -111,8 +111,8 @@ def register(url_prefix="/auth"):
|
||||
|
||||
is_valid, email = validate_email(email_input)
|
||||
if not is_valid:
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_login_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_login_page
|
||||
ctx = await get_template_context(error="Please enter a valid email address.", email=email_input)
|
||||
return await render_login_page(ctx), 400
|
||||
|
||||
@@ -132,8 +132,8 @@ def register(url_prefix="/auth"):
|
||||
"Please try again in a moment."
|
||||
)
|
||||
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_check_email_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_check_email_page
|
||||
ctx = await get_template_context(email=email, email_error=email_error)
|
||||
return await render_check_email_page(ctx)
|
||||
|
||||
@@ -148,15 +148,15 @@ def register(url_prefix="/auth"):
|
||||
user, error = await validate_magic_link(s, token)
|
||||
|
||||
if error:
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_login_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_login_page
|
||||
ctx = await get_template_context(error=error)
|
||||
return await render_login_page(ctx), 400
|
||||
user_id = user.id
|
||||
|
||||
except Exception:
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_login_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_login_page
|
||||
ctx = await get_template_context(error="Could not sign you in right now. Please try again.")
|
||||
return await render_login_page(ctx), 502
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
"""Federation app fragment endpoints.
|
||||
|
||||
Exposes sexp fragments at ``/internal/fragments/<type>`` for consumption
|
||||
Exposes sx fragments at ``/internal/fragments/<type>`` for consumption
|
||||
by other coop apps via the fragment client.
|
||||
"""
|
||||
|
||||
@@ -25,15 +25,15 @@ def register():
|
||||
async def get_fragment(fragment_type: str):
|
||||
handler = _handlers.get(fragment_type)
|
||||
if handler is None:
|
||||
return Response("", status=200, content_type="text/sexp")
|
||||
return Response("", status=200, content_type="text/sx")
|
||||
src = await handler()
|
||||
return Response(src, status=200, content_type="text/sexp")
|
||||
return Response(src, status=200, content_type="text/sx")
|
||||
|
||||
# --- link-card fragment: actor profile preview card --------------------------
|
||||
|
||||
def _federation_link_card_sexp(actor, link: str) -> str:
|
||||
from shared.sexp.helpers import sexp_call
|
||||
return sexp_call("link-card",
|
||||
def _federation_link_card_sx(actor, link: str) -> str:
|
||||
from shared.sx.helpers import sx_call
|
||||
return sx_call("link-card",
|
||||
link=link,
|
||||
title=actor.display_name or actor.preferred_username,
|
||||
image=None,
|
||||
@@ -59,7 +59,7 @@ def register():
|
||||
parts.append(f"<!-- fragment:{u} -->")
|
||||
actor = await services.federation.get_actor_by_username(g.s, u)
|
||||
if actor:
|
||||
parts.append(_federation_link_card_sexp(
|
||||
parts.append(_federation_link_card_sx(
|
||||
actor, federation_url(f"/users/{actor.preferred_username}"),
|
||||
))
|
||||
return "\n".join(parts)
|
||||
@@ -71,7 +71,7 @@ def register():
|
||||
actor = await services.federation.get_actor_by_username(g.s, lookup)
|
||||
if not actor:
|
||||
return ""
|
||||
return _federation_link_card_sexp(
|
||||
return _federation_link_card_sx(
|
||||
actor, federation_url(f"/users/{actor.preferred_username}"),
|
||||
)
|
||||
|
||||
|
||||
@@ -39,8 +39,8 @@ def register(url_prefix="/identity"):
|
||||
if actor:
|
||||
return redirect(url_for("activitypub.actor_profile", username=actor.preferred_username))
|
||||
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_choose_username_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_choose_username_page
|
||||
ctx = await get_template_context()
|
||||
ctx["actor"] = actor
|
||||
return await render_choose_username_page(ctx)
|
||||
@@ -71,8 +71,8 @@ def register(url_prefix="/identity"):
|
||||
error = "This username is already taken."
|
||||
|
||||
if error:
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_choose_username_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_choose_username_page
|
||||
ctx = await get_template_context(error=error, username=username)
|
||||
ctx["actor"] = None
|
||||
return await render_choose_username_page(ctx), 400
|
||||
|
||||
@@ -7,7 +7,7 @@ from datetime import datetime
|
||||
from quart import Blueprint, request, g, redirect, url_for, abort, Response
|
||||
|
||||
from shared.services.registry import services
|
||||
from shared.sexp.helpers import sexp_response
|
||||
from shared.sx.helpers import sx_response
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@@ -40,8 +40,8 @@ def register(url_prefix="/social"):
|
||||
return redirect(url_for("auth.login_form"))
|
||||
actor = _require_actor()
|
||||
items = await services.federation.get_home_timeline(g.s, actor.id)
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_timeline_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_timeline_page
|
||||
ctx = await get_template_context()
|
||||
return await render_timeline_page(ctx, items, "home", actor)
|
||||
|
||||
@@ -58,16 +58,16 @@ def register(url_prefix="/social"):
|
||||
items = await services.federation.get_home_timeline(
|
||||
g.s, actor.id, before=before,
|
||||
)
|
||||
from sexp.sexp_components import render_timeline_items
|
||||
sexp_src = await render_timeline_items(items, "home", actor)
|
||||
return sexp_response(sexp_src)
|
||||
from sx.sx_components import render_timeline_items
|
||||
sx_src = await render_timeline_items(items, "home", actor)
|
||||
return sx_response(sx_src)
|
||||
|
||||
@bp.get("/public")
|
||||
async def public_timeline():
|
||||
items = await services.federation.get_public_timeline(g.s)
|
||||
actor = getattr(g, "_social_actor", None)
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_timeline_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_timeline_page
|
||||
ctx = await get_template_context()
|
||||
return await render_timeline_page(ctx, items, "public", actor)
|
||||
|
||||
@@ -82,9 +82,9 @@ def register(url_prefix="/social"):
|
||||
pass
|
||||
items = await services.federation.get_public_timeline(g.s, before=before)
|
||||
actor = getattr(g, "_social_actor", None)
|
||||
from sexp.sexp_components import render_timeline_items
|
||||
sexp_src = await render_timeline_items(items, "public", actor)
|
||||
return sexp_response(sexp_src)
|
||||
from sx.sx_components import render_timeline_items
|
||||
sx_src = await render_timeline_items(items, "public", actor)
|
||||
return sx_response(sx_src)
|
||||
|
||||
# -- Compose --------------------------------------------------------------
|
||||
|
||||
@@ -92,8 +92,8 @@ def register(url_prefix="/social"):
|
||||
async def compose_form():
|
||||
actor = _require_actor()
|
||||
reply_to = request.args.get("reply_to")
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_compose_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_compose_page
|
||||
ctx = await get_template_context()
|
||||
return await render_compose_page(ctx, actor, reply_to)
|
||||
|
||||
@@ -138,8 +138,8 @@ def register(url_prefix="/social"):
|
||||
g.s, actor.preferred_username, page=1, per_page=1000,
|
||||
)
|
||||
followed_urls = {a.actor_url for a in following}
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_search_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_search_page
|
||||
ctx = await get_template_context()
|
||||
return await render_search_page(ctx, query, actors, total, 1, followed_urls, actor)
|
||||
|
||||
@@ -160,9 +160,9 @@ def register(url_prefix="/social"):
|
||||
g.s, actor.preferred_username, page=1, per_page=1000,
|
||||
)
|
||||
followed_urls = {a.actor_url for a in following}
|
||||
from sexp.sexp_components import render_search_results
|
||||
sexp_src = await render_search_results(actors, query, page, followed_urls, actor)
|
||||
return sexp_response(sexp_src)
|
||||
from sx.sx_components import render_search_results
|
||||
sx_src = await render_search_results(actors, query, page, followed_urls, actor)
|
||||
return sx_response(sx_src)
|
||||
|
||||
@bp.post("/follow")
|
||||
async def follow():
|
||||
@@ -204,8 +204,8 @@ def register(url_prefix="/social"):
|
||||
list_type = "followers"
|
||||
else:
|
||||
list_type = "following"
|
||||
from sexp.sexp_components import render_actor_card
|
||||
return sexp_response(render_actor_card(remote_dto, actor, followed_urls, list_type=list_type))
|
||||
from sx.sx_components import render_actor_card
|
||||
return sx_response(render_actor_card(remote_dto, actor, followed_urls, list_type=list_type))
|
||||
|
||||
# -- Interactions ---------------------------------------------------------
|
||||
|
||||
@@ -293,8 +293,8 @@ def register(url_prefix="/social"):
|
||||
).limit(1)
|
||||
)).scalar())
|
||||
|
||||
from sexp.sexp_components import render_interaction_buttons
|
||||
return sexp_response(render_interaction_buttons(
|
||||
from sx.sx_components import render_interaction_buttons
|
||||
return sx_response(render_interaction_buttons(
|
||||
object_id=object_id,
|
||||
author_inbox=author_inbox,
|
||||
like_count=like_count,
|
||||
@@ -312,8 +312,8 @@ def register(url_prefix="/social"):
|
||||
actors, total = await services.federation.get_following(
|
||||
g.s, actor.preferred_username,
|
||||
)
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_following_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_following_page
|
||||
ctx = await get_template_context()
|
||||
return await render_following_page(ctx, actors, total, actor)
|
||||
|
||||
@@ -324,9 +324,9 @@ def register(url_prefix="/social"):
|
||||
actors, total = await services.federation.get_following(
|
||||
g.s, actor.preferred_username, page=page,
|
||||
)
|
||||
from sexp.sexp_components import render_following_items
|
||||
sexp_src = await render_following_items(actors, page, actor)
|
||||
return sexp_response(sexp_src)
|
||||
from sx.sx_components import render_following_items
|
||||
sx_src = await render_following_items(actors, page, actor)
|
||||
return sx_response(sx_src)
|
||||
|
||||
@bp.get("/followers")
|
||||
async def followers_list():
|
||||
@@ -339,8 +339,8 @@ def register(url_prefix="/social"):
|
||||
g.s, actor.preferred_username, page=1, per_page=1000,
|
||||
)
|
||||
followed_urls = {a.actor_url for a in following}
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_followers_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_followers_page
|
||||
ctx = await get_template_context()
|
||||
return await render_followers_page(ctx, actors, total, followed_urls, actor)
|
||||
|
||||
@@ -355,9 +355,9 @@ def register(url_prefix="/social"):
|
||||
g.s, actor.preferred_username, page=1, per_page=1000,
|
||||
)
|
||||
followed_urls = {a.actor_url for a in following}
|
||||
from sexp.sexp_components import render_followers_items
|
||||
sexp_src = await render_followers_items(actors, page, followed_urls, actor)
|
||||
return sexp_response(sexp_src)
|
||||
from sx.sx_components import render_followers_items
|
||||
sx_src = await render_followers_items(actors, page, followed_urls, actor)
|
||||
return sx_response(sx_src)
|
||||
|
||||
@bp.get("/actor/<int:id>")
|
||||
async def actor_timeline(id: int):
|
||||
@@ -388,8 +388,8 @@ def register(url_prefix="/social"):
|
||||
)
|
||||
).scalar_one_or_none()
|
||||
is_following = existing is not None
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_actor_timeline_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_actor_timeline_page
|
||||
ctx = await get_template_context()
|
||||
return await render_actor_timeline_page(ctx, remote_dto, items, is_following, actor)
|
||||
|
||||
@@ -406,9 +406,9 @@ def register(url_prefix="/social"):
|
||||
items = await services.federation.get_actor_timeline(
|
||||
g.s, id, before=before,
|
||||
)
|
||||
from sexp.sexp_components import render_actor_timeline_items
|
||||
sexp_src = await render_actor_timeline_items(items, id, actor)
|
||||
return sexp_response(sexp_src)
|
||||
from sx.sx_components import render_actor_timeline_items
|
||||
sx_src = await render_actor_timeline_items(items, id, actor)
|
||||
return sx_response(sx_src)
|
||||
|
||||
# -- Notifications --------------------------------------------------------
|
||||
|
||||
@@ -417,8 +417,8 @@ def register(url_prefix="/social"):
|
||||
actor = _require_actor()
|
||||
items = await services.federation.get_notifications(g.s, actor.id)
|
||||
await services.federation.mark_notifications_read(g.s, actor.id)
|
||||
from shared.sexp.page import get_template_context
|
||||
from sexp.sexp_components import render_notifications_page
|
||||
from shared.sx.page import get_template_context
|
||||
from sx.sx_components import render_notifications_page
|
||||
ctx = await get_template_context()
|
||||
return await render_notifications_page(ctx, items, actor)
|
||||
|
||||
@@ -429,7 +429,7 @@ def register(url_prefix="/social"):
|
||||
return Response("0", content_type="text/plain")
|
||||
count = await services.federation.unread_notification_count(g.s, actor.id)
|
||||
if count > 0:
|
||||
from shared.sexp.jinja_bridge import render as render_comp
|
||||
from shared.sx.jinja_bridge import render as render_comp
|
||||
return Response(
|
||||
render_comp("notification-badge", count=str(count)),
|
||||
content_type="text/html",
|
||||
|
||||
Reference in New Issue
Block a user