File: lastlog2.py

package info (click to toggle)
cockpit 355-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 311,568 kB
  • sloc: javascript: 774,787; python: 40,655; ansic: 35,157; cpp: 11,141; sh: 3,512; makefile: 580; xml: 261
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))