MCPcopy Create free account
hub / github.com/easydiffusion/easydiffusion / _calculate_img_number

Function _calculate_img_number

ui/easydiffusion/utils/save_utils.py:324–362  ·  view source on GitHub ↗
(save_dir_path: str, task_data: RenderTaskData)

Source from the content-addressed store, hash-verified

322
323
324def _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 = {}

Callers 1

calculate_img_numberFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected