main.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import json
  2. import time
  3. from Utils.Hik_iSecure import Hik_iSecure
  4. from Utils.Hik_Cloud import Hik_Cloud
  5. import datetime
  6. def datetime_now():
  7. datetimenow = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
  8. return datetimenow
  9. with open("config.json") as f:
  10. f_data = json.load(f)
  11. host = f_data["host"]
  12. appKey = f_data["appKey"]
  13. appSecret = f_data["appSecret"]
  14. hik_host = f_data["hik_host"]
  15. hik_client_id = f_data["hik_client_id"]
  16. hik_client_secret = f_data["hik_client_secret"]
  17. groupId = f_data["groupId"]
  18. sleeptime = f_data["sleeptime"]
  19. while True:
  20. HikiSecure = Hik_iSecure(host, appKey, appSecret)
  21. HikCloud = Hik_Cloud(hik_host,hik_client_id,hik_client_secret)
  22. #获取海康安防系统人员列表
  23. person_lists = HikiSecure.get_personlist()
  24. print("%s,获取海康安防平台人员信息成功"%datetime_now())
  25. #
  26. # #获取海康云眸人员列表
  27. hik_person_list = HikCloud.hik_getuserlist()
  28. #查询需要同步的人员
  29. diff_value = set(person_lists)-set(hik_person_list)
  30. if diff_value:
  31. print("%s,需同步人员%s个" % (datetime_now(), len(diff_value)))
  32. for employee in diff_value:
  33. employeeNo = employee
  34. personName = person_lists[employeeNo][0]
  35. faceImageBase64 = person_lists[employeeNo][1]
  36. #往海康云眸添加人员
  37. print(employeeNo,personName)
  38. HikCloud.hik_adduser(employeeNo,personName,faceImageBase64)
  39. #获取海康安防系统人员卡片信息
  40. cards = HikiSecure.get_card(diff_value)
  41. print("%s,获取海康安防平台卡片信息成功"%datetime_now())
  42. print(cards)
  43. #往海康云眸添加卡片
  44. HikCloud.hik_addcard(cards)
  45. # #海康云眸权限组绑定人员
  46. HikCloud.hik_permissiongroupspersons(groupId,list(diff_value))
  47. else:
  48. print("%s 没有需要同步的人员信息"%datetime_now())
  49. time.sleep(int(sleeptime))