|
@@ -117,6 +117,7 @@ def refresh_hkvideo_list(db: Session):
|
|
|
altitude=camera_info['altitude'],
|
|
|
pixel=camera_info['pixel'],
|
|
|
cameraType=camera_info['cameraType'],
|
|
|
+ unitIndexCode = camera_info['unitIndexCode'],
|
|
|
cameraTypeName=camera_info['cameraTypeName'],
|
|
|
installPlace=camera_info['installPlace'],
|
|
|
updateTime=camera_info['updateTime'],
|
|
@@ -140,5 +141,66 @@ def refresh_hkvideo_list(db: Session):
|
|
|
print(f"Error occurred during database operations: {e}")
|
|
|
else:
|
|
|
print("Failed to fetch initial camera data")
|
|
|
+ else:
|
|
|
+ print("API response is not in the expected format")
|
|
|
+
|
|
|
+
|
|
|
+def refresh_hkvideo_region_list(db: Session):
|
|
|
+ api = hk_video_api.HikvisionAPI()
|
|
|
+ data = api.get_regions()
|
|
|
+
|
|
|
+ if isinstance(data, dict):
|
|
|
+ if data['code'] == '0':
|
|
|
+ total = data['data']['total']
|
|
|
+ page_size = 1000
|
|
|
+ total_pages = (total + page_size - 1) // page_size
|
|
|
+ infos = []
|
|
|
+
|
|
|
+ for page in range(total_pages):
|
|
|
+ print(f'视频条数{total_pages},正在获取视频信息第{page}页')
|
|
|
+ data = api.get_regions(page + 1, page_size)
|
|
|
+ if data['code'] == '0':
|
|
|
+ region_list = data['data']['list']
|
|
|
+ for cregion_info in region_list:
|
|
|
+ pass
|
|
|
+ # longitude= camera_info['longitude']
|
|
|
+ # latitude = camera_info['latitude']
|
|
|
+ # if longitude=='':
|
|
|
+ # longitude = 0.0
|
|
|
+ # if latitude=='':
|
|
|
+ # latitude = 0.0
|
|
|
+ # info = TPVideoInfo(
|
|
|
+ # cameraIndexCode=camera_info['cameraIndexCode'],
|
|
|
+ # gbIndexCode=camera_info['gbIndexCode'],
|
|
|
+ # name=camera_info['name'],
|
|
|
+ # longitude=longitude,
|
|
|
+ # latitude=latitude,
|
|
|
+ # altitude=camera_info['altitude'],
|
|
|
+ # pixel=camera_info['pixel'],
|
|
|
+ # cameraType=camera_info['cameraType'],
|
|
|
+ # unitIndexCode = camera_info['unitIndexCode'],
|
|
|
+ # cameraTypeName=camera_info['cameraTypeName'],
|
|
|
+ # installPlace=camera_info['installPlace'],
|
|
|
+ # updateTime=camera_info['updateTime'],
|
|
|
+ # createTime=camera_info['createTime'],
|
|
|
+ # status=camera_info['status'],
|
|
|
+ # statusName=camera_info['statusName']
|
|
|
+ # )
|
|
|
+ # infos.append(info)
|
|
|
+ else:
|
|
|
+ print(f"Failed to fetch cameras on page {page + 1}")
|
|
|
+ return
|
|
|
+
|
|
|
+ try:
|
|
|
+ # 清空表
|
|
|
+ db.execute(text("TRUNCATE TABLE tp_video_region;"))
|
|
|
+ # 插入新数据
|
|
|
+ db.add_all(infos)
|
|
|
+ db.commit()
|
|
|
+ except Exception as e:
|
|
|
+ db.rollback() # 回滚事务
|
|
|
+ print(f"Error occurred during database operations: {e}")
|
|
|
+ else:
|
|
|
+ print("Failed to fetch initial camera data")
|
|
|
else:
|
|
|
print("API response is not in the expected format")
|