From line changed to Logged on <date> from
Build LinkLog Development Image / development-image (push) Successful in 12s

This commit is contained in:
2026-08-30 21:25:15 +02:00
parent 1c307fac94
commit 5ff947d435
2 changed files with 16 additions and 2 deletions
+14 -1
View File
@@ -3,6 +3,7 @@
import json
import logging
from datetime import datetime, timezone
from urllib.error import HTTPError, URLError
from urllib.parse import urlencode
from urllib.request import Request
@@ -77,7 +78,19 @@ class MastodonPlugin(BasePlugin):
if event.get('comment'):
status_parts.append(event['comment'])
if title:
status_parts.append(f'from: {event.get("url", "")}')
timestamp_value = event.get('timestamp') or event.get('created_at')
url = str(event.get('url', '') or '').strip()
if timestamp_value:
try:
parsed = datetime.fromisoformat(str(timestamp_value).replace('Z', '+00:00'))
if parsed.tzinfo is None:
parsed = parsed.replace(tzinfo=timezone.utc)
formatted = parsed.astimezone(timezone.utc).strftime('%Y %B %d - %H:%M')
status_parts.append(f'Logged on {formatted} from: {url}')
except ValueError:
status_parts.append(f'Logged from: {url}')
else:
status_parts.append(f'Logged from: {url}')
if event.get('tags'):
status_parts.append(' '.join(event['tags']))
post_body = '\n\n'.join(status_parts)
+2 -1
View File
@@ -885,6 +885,7 @@ def test_link_submission_posts_to_enabled_mastodon_plugin():
'title': 'A useful page',
'url': 'https://example.com/useful',
'comment': 'Worth sharing',
'timestamp': '2026-08-29T21:10:00Z',
'tags': ['#python', '#web'],
})
@@ -892,7 +893,7 @@ def test_link_submission_posts_to_enabled_mastodon_plugin():
assert received['path'] == '/api/v1/statuses'
assert received['authorization'] == 'Bearer test-token'
assert received['content_type'] == 'application/x-www-form-urlencoded'
assert received['body'] == {'status': ['From my #LinkLog:\n\nA useful page\n\nWorth sharing\n\nfrom: https://example.com/useful\n\n#python #web']}
assert received['body'] == {'status': ['From my #LinkLog:\n\nA useful page\n\nWorth sharing\n\nLogged on 2026 August 29 - 21:10 from: https://example.com/useful\n\n#python #web']}
posted_item = next(item for item in client.get('/api/public/feed/alice', headers=headers).json() if item['id'] == response.json()['id'])
assert posted_item['mastodon_posted'] is True
finally: