def do_work(camera_ip, start_datetime_str, end_datetime_str, use_utc_time, content_type): logger = Logger.get_logger() try: logger.info('Processing cam {}: downloading {}'.format( camera_ip, content_type)) logger.info('{} time is used'.format( "UTC" if use_utc_time else "Camera's local")) auth_type = CameraSdk.get_auth_type(camera_ip, user_name, user_password) if auth_type == AuthType.UNAUTHORISED: raise RuntimeError('Unauthorised! Check login and password') auth_handler = CameraSdk.get_auth(auth_type, user_name, user_password) if use_utc_time: local_time_offset = timedelta() else: local_time_offset = CameraSdk.get_time_offset( auth_handler, camera_ip) utc_time_interval = TimeInterval.from_string( start_datetime_str, end_datetime_str, local_time_offset).to_utc() download_media(auth_handler, camera_ip, utc_time_interval, content_type) except requests.exceptions.ConnectionError as e: logger.error('Connection error: {}'.format(e)) except Exception as e: logger.exception(e)
def get_all_tracks(_1, _2, utc_time_interval, _3): start_time_text, end_time_text = utc_time_interval.to_local_time( ).to_text() Logger.get_logger().info('Start time: {}'.format(start_time_text)) Logger.get_logger().info('End time: {}'.format(end_time_text)) Logger.get_logger().info('Getting track list...')
def reboot_camera(_1, _2): Logger.get_logger().info('Rebooting camera...')
def wait_until_camera_rebooted(result): if result: Logger.get_logger().info('Camera is up, continue downloading') else: Logger.get_logger().info('Camera is still down')
def download_file_after(result): if result.result_type != CameraSdk.FileDownloadingResult.OK: if result.result_type == CameraSdk.FileDownloadingResult.TIMEOUT: Logger.get_logger().error("Timeout during file downloading") else: Logger.get_logger().error(result.text)
def download_file_before(_1, _2, _3, file_name): Logger.get_logger().info('Downloading {}'.format(file_name))
def download_tracks(tracks, _1, _2, _3): Logger.get_logger().info('Found {} files'.format(len(tracks)))
def get_video_tracks_info(result): if not result: error_message = CameraSdk.get_error_message_from(result) Logger.get_logger().error( 'Error occurred during getting track list') Logger.get_logger().error(error_message)
def download_file_after(result): if not result: error_message = CameraSdk.get_error_message_from(result) Logger.get_logger().error(error_message)