Merge branch 'master' of github.com:fananimi/pyzk
This commit is contained in:
commit
b70c8dcbff
@ -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
|
||||||
|
@ -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!)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
5
test.py
5
test.py
@ -5,7 +5,12 @@ import sys
|
|||||||
import os
|
import os
|
||||||
import unittest
|
import unittest
|
||||||
import codecs
|
import codecs
|
||||||
|
|
||||||
|
if sys.version_info[0] < 3:
|
||||||
from mock import patch, Mock, MagicMock
|
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
|
||||||
|
15
zk/base.py
15
zk/base.py
@ -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")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user