import win32com.client
import sys,requests,datetime
import time
import threading
import json
from subprocess import run, PIPE
class EventMask:
def OnConnected(self):
print ("OnConnected")
data = {"OnConnected":"OnConnected"}
senderror(' OnConnected '+json.dumps(data),'syszk.log')
# print(requests.post('',json={"EnrollNumber":"EnrollNumber"}))
# jiu = json.loads(jj.json())
# print(jiu["EnrollNumber"])
def OndisConnected(self):
print ("OndisConnected")
def OnAttTransactionEx(self,EnrollNumber,IsInValid,AttState,VerifyMode,Year,Month,Day,Hour,Minute,Second,WorkCode):
print("OnAttTransactionEx",EnrollNumber,IsInValid,AttState,VerifyMode,Year,Month,Day,Hour,Minute,Second,WorkCode)
data = {"EnrollNumber":EnrollNumber,"IsInValid":IsInValid,"AttState":AttState,"VerifyMode":VerifyMode,"Year":Year,"Month":Month,"Day":Day,"Hour":Hour,"Minute":Minute,"Second":Second,"WorkCode":WorkCode}
senderror(" OnAttTransactionEx "+json.dumps(data),'syszkAttTransactionEx.log')
# requests.post('',json=data)
def OnAttTransaction(self,EnrollNumber,IsInValid,AttState,VerifyMethod,Year,Month,Day,Hour,Minute,Second):
print("OnAttTransaction",EnrollNumber,IsInValid,AttState,VerifyMethod,Year,Month,Day,Hour,Minute,Second)
class Zkong:
def connect(self):
jj = win32com.client.dispatchWithEvents('zkemkeeper.ZKEM.1',EventMask)
jj.Visible = True
if not jj.Connect_Net("192.168.0.201",4370):
senderror(" Connect Error")
jj.disconnect()
linkto()
jj.RegEvent(1,65535)
while True:
if not jishi():
senderror(" web link Error")
jj.disconnect()
linkto()
break
time.sleep(60)
def senderror(errcont,myfile='syserror.log'):
eNow=datetime.datetime.Now()
Now=eNow.strftime('%Y-%m-%d %H:%M:%s')
errfile=open(myfile,'a')
errfile.write(Now)
errfile.write(str(errcont))
errfile.write('\n')
errfile.close()
def jishi():
r = run('ping ***.***.22.18',
stdout=PIPE,
stderr=PIPE,
stdin=PIPE,
shell=True)
if r.returncode:
print('不能正常联网')
return False
else:
print('正常联网')
return True
def linkto():
print('111')
uii = True
cnt = 1
while uii:
r = run('ping ***.***.22.18',
stdout=PIPE,
stderr=PIPE,
stdin=PIPE,
shell=True)
if r.returncode:
print('relogin 第{}次'.format(cnt))
senderror(' relogin 第{}次'.format(cnt))
cnt += 1
time.sleep(60*1) # 暂停时间
else:
uii = False
print('正常联网')
jis = Zkong()
jis.connect()
if __name__ == '__main__':
list = ""
jis = Zkong()
jis.connect()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。