[1mdiff --git a/50_bubble.py b/50_bubble.py[m
[1mindex b2dc785..e5d0d1c 100644[m
[1m--- a/50_bubble.py[m
[1m+++ b/50_bubble.py[m
[36m@@ -2,6 +2,7 @@[m
[m
import os[m
import re[m
[32m+[m[32mimport shlex[m
import sys[m
import urllib.parse as urlparse[m
[m
[36m@@ -41,7 +42,10 @@[m [mclass Bubble:[m
self.rate_register = max(1, cfg.getint('rate.register', 20)) # per hour, any remote[m
self.rate_post = max(1, cfg.getint('rate.post', 10)) # per hour, per remote[m
self.admin_certpass = cfg.get('admin.certpass', '')[m
[31m- self.antenna_url = cfg.get('antenna.url', 'gemini://warmedal.se/~antenna/submit')[m
[32m+[m[32m self.antenna_urls = cfg.get('antenna.url', 'gemini://warmedal.se/~antenna/submit').split()[m
[32m+[m[32m self.antenna_labels = shlex.split(cfg.get('antenna.label', '"📡 Antenna"'))[m
[32m+[m[32m if len(self.antenna_urls) != len(self.antenna_labels):[m
[32m+[m[32m raise Exception("Config error: Antenna URLs and labels mismatched")[m
self.version = __version__[m
[m
# TODO: Could just check capsule Config's titan.upload_limit?[m
[36m@@ -52,6 +56,12 @@[m [mclass Bubble:[m
db.create_tables(self.admin_certpass)[m
db.close()[m
[m
[32m+[m[32m def antenna_links(self, kind, feed_url):[m
[32m+[m[32m links = [][m
[32m+[m[32m for i, url in enumerate(self.antenna_urls):[m
[32m+[m[32m links.append(f'=> {url}?{urlparse.quote(feed_url)} Submit {kind} to {self.antenna_labels[i]}\n')[m
[32m+[m[32m return links[m
[32m+[m
def is_feedback_enabled(self):[m
return len(self.user_reactions) or self.thanks_enabled or self.likes_enabled[m
[m
[1mdiff --git a/example.ini b/example.ini[m
[1mindex 9d66b8c..ea1a3a0 100644[m
[1m--- a/example.ini[m
[1m+++ b/example.ini[m
[36m@@ -59,4 +59,5 @@[m [madmin.certpass = password[m
repo.cachedir = /home/username/.bubble-cache/[m
[m
; URL for broadcasting Gemini feed entries.[m
[31m-; antenna.url = gemini://warmedal.se/~antenna/submit[m
[32m+[m[32mantenna.url = gemini://warmedal.se/~antenna/submit gemini://gemini.smallweb.space/antenna/submit[m
[32m+[m[32mantenna.label = "📡 Antenna" "DSN Antenna"[m
[1mdiff --git a/feeds.py b/feeds.py[m
[1mindex 26b8033..a08d3e3 100644[m
[1m--- a/feeds.py[m
[1m+++ b/feeds.py[m
[36m@@ -257,9 +257,9 @@[m [mdef make_post_page_or_configure_feed(session):[m
actions.append(f'=> /mute/post/{post.id} 🔇 Mute {kind}\n')[m
[m
if session.is_antenna_enabled() and session.user.id == post.user and post.sub_owner == post.user:[m
[31m- antenna_feed = f"gemini://{session.bubble.hostname}{session.path}u/{session.user.name}/{post.id}/antenna"[m
actions.append('\n')[m
[31m- actions.append(f'=> {session.bubble.antenna_url}?{urlparse.quote(antenna_feed)} Submit post to 📡 Antenna\n')[m
[32m+[m[32m antenna_feed = f"gemini://{session.bubble.hostname}{session.path}u/{session.user.name}/{post.id}/antenna"[m
[32m+[m[32m actions += session.bubble.antenna_links('post', antenna_feed)[m
[m
if session.is_deletable(post) and not session.is_editable(post):[m
actions.append('\n')[m
[36m@@ -856,7 +856,9 @@[m [mdef make_feed_page(session):[m
[m
if session.is_antenna_enabled() and c_user and user.id == c_user.id:[m
antenna_feed = f"{session.server_root()}{session.path}u/{user.name}/antenna"[m
[31m- page += f'=> {session.bubble.antenna_url}?{urlparse.quote(antenna_feed)} Submit feed to 📡 Antenna\n'[m
[32m+[m[32m #page += f'=> {session.bubble.antenna_url}?{urlparse.quote(antenna_feed)} Submit feed to 📡 Antenna\n'[m
[32m+[m[32m for link in session.bubble.antenna_links('feed', antenna_feed):[m
[32m+[m[32m page += link[m
[m
# Following and muting.[m
if c_user and user.id != c_user.id:[m
text/plain
This content has been proxied by September (ba2dc).