File: lastlog2.py

package info (click to toggle)
cockpit 337-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 36,232 kB
  • sloc: javascript: 47,090; python: 38,766; ansic: 35,470; xml: 6,048; sh: 3,413; makefile: 614
file content (22 lines) | stat: -rw-r--r-- 562 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 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))