(save_dir_path: str, task_data: RenderTaskData)
| 322 | |
| 323 | |
| 324 | def _calculate_img_number(save_dir_path: str, task_data: RenderTaskData): |
| 325 | def get_highest_img_number(accumulator: int, file: os.DirEntry) -> int: |
| 326 | if not file.is_file: |
| 327 | return accumulator |
| 328 | |
| 329 | if len(list(filter(lambda e: file.name.endswith(e), app.IMAGE_EXTENSIONS))) == 0: |
| 330 | return accumulator |
| 331 | |
| 332 | get_highest_img_number.number_of_images = get_highest_img_number.number_of_images + 1 |
| 333 | |
| 334 | number_match = img_number_regex.match(file.name) |
| 335 | if not number_match: |
| 336 | return accumulator |
| 337 | |
| 338 | file_number = number_match.group().lstrip("0") |
| 339 | |
| 340 | # Handle 00000 |
| 341 | return int(file_number) if file_number else 0 |
| 342 | |
| 343 | get_highest_img_number.number_of_images = 0 |
| 344 | |
| 345 | highest_file_number = -1 |
| 346 | |
| 347 | if os.path.isdir(save_dir_path): |
| 348 | existing_files = list(os.scandir(save_dir_path)) |
| 349 | highest_file_number = reduce(get_highest_img_number, existing_files, -1) |
| 350 | |
| 351 | calculated_img_number = max(highest_file_number, get_highest_img_number.number_of_images - 1) |
| 352 | |
| 353 | if task_data.session_id in _calculate_img_number.session_img_numbers: |
| 354 | calculated_img_number = max( |
| 355 | _calculate_img_number.session_img_numbers[task_data.session_id], |
| 356 | calculated_img_number, |
| 357 | ) |
| 358 | |
| 359 | calculated_img_number = calculated_img_number + 1 |
| 360 | |
| 361 | _calculate_img_number.session_img_numbers[task_data.session_id] = calculated_img_number |
| 362 | return calculated_img_number |
| 363 | |
| 364 | |
| 365 | _calculate_img_number.session_img_numbers = {} |
no outgoing calls
no test coverage detected