pyztk/test_machine.py

87 lines
2.9 KiB
Python
Raw Normal View History

2018-04-20 07:23:23 +07:00
# -*- coding: utf-8 -*-
import sys
import argparse
from zk import ZK, const
sys.path.append("zk")
conn = None
parser = argparse.ArgumentParser(description='ZK Basic Reading Tests')
parser.add_argument('-a', '--address',
help='ZK device Addres [192.168.1.201]', default='192.168.1.201')
parser.add_argument('-p', '--port', type=int,
help='device port', default=4370)
parser.add_argument('-T', '--timeout', type=int,
help='timeout', default=60)
parser.add_argument('-P', '--password', type=int,
help='Device code/password', default=0)
#parser.add_argument('-f', '--firmware', type=int,
# help='test firmware', default=8)
2018-04-20 07:23:23 +07:00
parser.add_argument('-t', '--templates', action="store_true",
help='get templates')
parser.add_argument('-r', '--records', action="store_true",
help='get records')
args = parser.parse_args()
zk = ZK(args.address, port=args.port, timeout=args.timeout, password=args.password) # , firmware=args.firmware
2018-04-20 07:23:23 +07:00
try:
print 'Connecting to device ...'
conn = zk.connect()
print 'Disabling device ...'
conn.disable_device()
fmt = conn.get_extend_fmt()
print 'ExtendFmt : {}'.format(fmt)
if fmt == 1:
print "Firmware 6"
conn.firmware = 6
else:
print "Firmware 8"
conn.firmware = 8
print 'Time : {}'.format(conn.get_time())
print 'Firmware Version : {}'.format(conn.get_firmware_version())
print 'Platform : %s' % conn.get_platform()
print 'DeviceName : %s' % conn.get_device_name()
print 'Pin Width : %i' % conn.get_pin_width()
print 'Serial Number : %s' % conn.get_serialnumber()
print 'MAC: %s' % conn.get_mac()
print ''
2018-04-20 07:23:23 +07:00
conn.read_sizes()
print conn
print ''
print '--- Get User ---'
users = conn.get_users()
for user in users:
privilege = 'User'
if user.privilege == const.USER_ADMIN:
privilege = 'Admin'
2018-04-20 07:29:00 +07:00
print '-> UID #{:<5} Name : {:<27} Privilege : {}'.format(user.uid, user.name, privilege)
print ' Group ID : {:<8} User ID : {:<8} Password : {:<8} Card : {}'.format(user.group_id, user.user_id, user.password, user.card)
#print len (user.repack73()), user.repack73().encode('hex')
2018-04-20 07:29:00 +07:00
#print ''
2018-04-20 07:23:23 +07:00
print "Voice Test ..."
conn.test_voice(10)
if args.templates:
print "Read Templates..."
templates = conn.get_templates()
for tem in templates:
print tem
if args.records:
print "Read Records..."
attendance = conn.get_attendance()
for att in attendance:
print "ATT: uid:{:>3}, t: {}".format(att.uid, att.timestamp)
print 'Enabling device ...'
conn.enable_device()
except Exception, e:
print "Process terminate : {}".format(e)
print "Error: %s" % sys.exc_info()[0]
2018-04-20 07:23:23 +07:00
finally:
if conn:
conn.disconnect()