You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							71 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							71 lines
						
					
					
						
							1.2 KiB
						
					
					
				
								from datetime import datetime, date
							 | 
						|
								
							 | 
						|
								USHRT_MAX = 65535
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								CMD_CONNECT = 1000
							 | 
						|
								CMD_EXIT = 1001
							 | 
						|
								CMD_ENABLEDEVICE = 1002
							 | 
						|
								CMD_DISABLEDEVICE = 1003
							 | 
						|
								
							 | 
						|
								CMD_ACK_OK = 2000
							 | 
						|
								CMD_ACK_ERROR = 2001
							 | 
						|
								CMD_ACK_DATA = 2002
							 | 
						|
								
							 | 
						|
								CMD_PREPARE_DATA = 1500
							 | 
						|
								CMD_DATA = 1501
							 | 
						|
								
							 | 
						|
								CMD_USERTEMP_RRQ = 9
							 | 
						|
								CMD_ATTLOG_RRQ = 13
							 | 
						|
								CMD_CLEAR_DATA = 14
							 | 
						|
								CMD_CLEAR_ATTLOG = 15
							 | 
						|
								
							 | 
						|
								CMD_WRITE_LCD = 66
							 | 
						|
								
							 | 
						|
								CMD_GET_TIME  = 201
							 | 
						|
								CMD_SET_TIME  = 202
							 | 
						|
								
							 | 
						|
								CMD_VERSION = 1100
							 | 
						|
								CMD_DEVICE = 11
							 | 
						|
								
							 | 
						|
								CMD_CLEAR_ADMIN = 20
							 | 
						|
								CMD_SET_USER = 8
							 | 
						|
								
							 | 
						|
								LEVEL_USER = 0
							 | 
						|
								LEVEL_ADMIN = 14
							 | 
						|
								
							 | 
						|
								def encode_time(t):
							 | 
						|
								    """Encode a timestamp send at the timeclock
							 | 
						|
								
							 | 
						|
								    copied from zkemsdk.c - EncodeTime"""
							 | 
						|
								    d = ( (t.year % 100) * 12 * 31 + ((t.month - 1) * 31) + t.day - 1) *\
							 | 
						|
								         (24 * 60 * 60) + (t.hour * 60 + t.minute) * 60 + t.second
							 | 
						|
								
							 | 
						|
								    return d
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								def decode_time(t):
							 | 
						|
								    """Decode a timestamp retrieved from the timeclock
							 | 
						|
								
							 | 
						|
								    copied from zkemsdk.c - DecodeTime"""
							 | 
						|
								    second = t % 60
							 | 
						|
								    t = t / 60
							 | 
						|
								
							 | 
						|
								    minute = t % 60
							 | 
						|
								    t = t / 60
							 | 
						|
								
							 | 
						|
								    hour = t % 24
							 | 
						|
								    t = t / 24
							 | 
						|
								
							 | 
						|
								    day = t % 31+1
							 | 
						|
								    t = t / 31
							 | 
						|
								
							 | 
						|
								    month = t % 12+1
							 | 
						|
								    t = t / 12
							 | 
						|
								
							 | 
						|
								    year = t + 2000
							 | 
						|
								
							 | 
						|
								    d = datetime(int(year), int(month), int(day), int(hour), int(minute), int(second))
							 | 
						|
								
							 | 
						|
								    return d
							 | 
						|
								    
							 | 
						|
								
							 |