# SPDX-License-Identifier: LGPL-2.1-or-later # Print lastlog2 database as JSON; used in ./login.js import json import os import sqlite3 import sys DB = "/var/lib/lastlog/lastlog2.db" if not os.path.exists(DB): sys.exit(f"{DB} does not exist") con = sqlite3.connect(DB) cur = con.cursor() query = "SELECT Name, Time, TTY, RemoteHost FROM Lastlog2" if len(sys.argv) == 2: res = cur.execute(query + " WHERE Name = ?", [sys.argv[1]]) else: res = cur.execute(query) users = {} for [name, time, tty, host] in res: users[name] = {"time": time, "tty": tty, "host": host} print(json.dumps(users))