55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
# Import PyGObject
|
|
# PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more.
|
|
from gi import require_version
|
|
|
|
# for arguments
|
|
from sys import argv
|
|
from os import geteuid
|
|
|
|
if geteuid() != 0:
|
|
exit("You need to have root privileges to run this script.\nPlease try again, this time using 'sudo'. Exiting.")
|
|
|
|
# Load FPrint gi module
|
|
require_version('FPrint', '2.0')
|
|
|
|
# Import FPrint
|
|
from gi.repository import FPrint
|
|
|
|
# Get FPrint Context
|
|
fprint_context = FPrint.Context()
|
|
|
|
# Loop over FPrint devices
|
|
for fprint_device in fprint_context.get_devices():
|
|
|
|
# Print device info
|
|
print(fprint_device)
|
|
print(fprint_device.get_driver())
|
|
print(fprint_device.props.device_id)
|
|
|
|
# Open the device synchronously.
|
|
fprint_device.open_sync()
|
|
|
|
# Get list of enrolled prints
|
|
enrolled_fingerprints = fprint_device.list_prints_sync()
|
|
print("Device has %d enrolled fingerprints." % len(enrolled_fingerprints))
|
|
|
|
# Loop through enrolled fingerprints
|
|
for fingerprint in enrolled_fingerprints:
|
|
|
|
# Print fingerprint info
|
|
date = fingerprint.props.enroll_date
|
|
print(' %04d-%02d-%02d valid: %d' % (date.get_year(), date.get_month(), date.get_day(), date.valid()))
|
|
print(' ' + str(fingerprint.props.finger))
|
|
print(' ' + str(fingerprint.props.username))
|
|
print(' ' + str(fingerprint.props.description))
|
|
|
|
# check for delete flag
|
|
if (len(argv) > 1 and argv[1] == "-d"):
|
|
# Delete print
|
|
print('Deleting print:')
|
|
fprint_device.delete_print_sync(fingerprint)
|
|
print('Deleted')
|
|
|
|
# Close the device synchronously.
|
|
fprint_device.close_sync()
|