💾 Archived View for tilde.town › ~nihilazo › dino-export.gmi captured on 2021-12-03 at 14:04:38. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

A little tool for exporting dino logs

Tags:tech

As dino doesn't support exporting chat logs in text, I built a little python script to do it by reading from the database. This is not doing good SQL, and it only works in MUCs. But it did the job for me and I want to share it. Too tiny for a project so here's the code!

import sqlite3
import os
import sys

p = os.path.join(os.environ["HOME"], ".local/share/dino/dino.db")
conn = sqlite3.connect(p)
c = conn.cursor()

# Unsafe but who cares
jids = conn.execute(f'SELECT id FROM jid WHERE bare_jid LIKE "%{sys.argv[1]}%"')
i = jids.fetchone()[0]
 
messages = conn.execute('SELECT counterpart_resource, our_resource, body FROM message WHERE counterpart_id=:id', {"id": i})

for m in messages:
	nick = ''
	if m[0] == None:
		nick = m[1]
	else:
		nick = m[0]
	print(f'<{nick}> {m[2]}')

go home