
    Ni                     N    d dl  d dl d dlmZ  G d dej                        Zy)    )*)cmf_testcase_folderc                   <     e Zd Zd Z fdZddd fd
Zd Z xZS )CmfTestcaseFolderc                     | j                   | _        | j                  }|r[|r:|j                  j                  dk(  r!|j                    d| j                   | _        ny |j                  j                         }|rZy y )Nr   z / )nametexttree_parentvalue
class_nameload)selfr
   s     /./modules/evatest/models/cmf_testcase_folder.py_calc_fullnamez CmfTestcaseFolder._calc_fullname   sk    II	&&{00;;?RR*//0DII;?	%11668K     c                 *    t         |          ddgz   S )Nr
   r	   )supersave_preload_fields)r   	__class__s    r   r   z%CmfTestcaseFolder.save_preload_fields   s    w*,v/FFFr   Nr   is_task_transition_rundepthc                H    | j                          t        |   |||d|S )Nr   )r   r   save)r   r   r   argskwargsr   s        r   r   zCmfTestcaseFolder.save   s*    w|T:PX]haghhr   c                     fd |       S )u   
        Рекурсивный вывод тест-кейсов из папки и всех подпапок.
        Возвращает плоский список только тест-кейсов (без папок).
        c                     g }t         j                  j                  |       }|j                  |       t         j                  j                  |       }|D ]  }|j                   |              |S )uP   Рекурсивно получить все тест-кейсы из папки)folder)r
   )modelsCmfTestcaselistextendr   )r   result	testcases
subfolders	subfolderget_folder_testcasess        r   r(   z8CmfTestcaseFolder.rec_list.<locals>.get_folder_testcases   sr    F **//v/>IMM)$  116666JJ' ?	29=>? Mr    )r   r   r   r(   s      @r   rec_listzCmfTestcaseFolder.rec_list   s    
	  $D))r   )__name__
__module____qualname__r   r   r   r*   __classcell__)r   s   @r   r   r      s     	9G 26Q i*r   r   N)cmf.include
cmf.fieldsmodules.evatest.fieldsr   r   r)   r   r   <module>r2      s!      6'*+== '*r   