Merge branch 'master' of github.com:fananimi/pyzk

This commit is contained in:
Fanani M. Ihsan 2019-04-25 16:41:06 +07:00
commit b70c8dcbff
4 changed files with 18 additions and 9 deletions

View File

@ -1,5 +1,6 @@
language: python language: python
python: python:
- "2.7" - "2.7"
- "3.6"
# command to run tests # command to run tests
script: python test.py script: python test.py

View File

@ -413,6 +413,10 @@ DeviceName : K20 (latest checked correctly!)
Firmware Version : Ver 6.60 Aug 23 2014 Firmware Version : Ver 6.60 Aug 23 2014
Platform : ZEM600_TFT Platform : ZEM600_TFT
DeviceName : VF680 (face device only, but we read the user and attendance list!) DeviceName : VF680 (face device only, but we read the user and attendance list!)
Firmware Version : Ver 6.70 Feb 16 2017
Platform : ZLM30_TFT
DeviceName : RSP10k1 (latest checked correctly!)
``` ```

View File

@ -5,7 +5,12 @@ import sys
import os import os
import unittest import unittest
import codecs import codecs
from mock import patch, Mock, MagicMock
if sys.version_info[0] < 3:
from mock import patch, Mock, MagicMock
else:
from unittest.mock import patch, Mock, MagicMock
mock_socket = MagicMock(name='zk.socket') mock_socket = MagicMock(name='zk.socket')
sys.modules['zk.socket'] = mock_socket sys.modules['zk.socket'] = mock_socket
from zk import ZK, const from zk import ZK, const

View File

@ -5,11 +5,11 @@ from socket import AF_INET, SOCK_DGRAM, SOCK_STREAM, socket, timeout
from struct import pack, unpack from struct import pack, unpack
import codecs import codecs
from zk import const from . import const
from zk.attendance import Attendance from .attendance import Attendance
from zk.exception import ZKErrorConnection, ZKErrorResponse, ZKNetworkError from .exception import ZKErrorConnection, ZKErrorResponse, ZKNetworkError
from zk.user import User from .user import User
from zk.finger import Finger from .finger import Finger
def safe_cast(val, to_type, default=None): def safe_cast(val, to_type, default=None):
@ -302,7 +302,7 @@ class ZK(object):
def __reverse_hex(self, hex): def __reverse_hex(self, hex):
data = '' data = ''
for i in reversed(xrange(len(hex) / 2)): for i in reversed(range(len(hex) / 2)):
data += hex[i * 2:(i * 2) + 2] data += hex[i * 2:(i * 2) + 2]
return data return data
@ -878,7 +878,7 @@ class ZK(object):
raise ZKErrorResponse("Can't pack user") raise ZKErrorResponse("Can't pack user")
else: else:
name_pad = name.encode(self.encoding, errors='ignore').ljust(24, b'\x00')[:24] name_pad = name.encode(self.encoding, errors='ignore').ljust(24, b'\x00')[:24]
card_str = pack('i', int(card))[:4] card_str = pack('<I', int(card))[:4]
command_string = pack('HB8s24s4sx7sx24s', uid, privilege, password.encode(self.encoding, errors='ignore'), name_pad, card_str, group_id.encode(), user_id.encode()) command_string = pack('HB8s24s4sx7sx24s', uid, privilege, password.encode(self.encoding, errors='ignore'), name_pad, card_str, group_id.encode(), user_id.encode())
response_size = 1024 #TODO check response? response_size = 1024 #TODO check response?
cmd_response = self.__send_command(command, command_string, response_size) cmd_response = self.__send_command(command, command_string, response_size)
@ -1616,4 +1616,3 @@ class ZK(object):
return True return True
else: else:
raise ZKErrorResponse("Can't clear response") raise ZKErrorResponse("Can't clear response")