
    Ni                     H    d dl T d dlT d dlmZ  G d dej                  ZdS )    )*)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        }|rH|r'|j        j        dk    r|j          d| j         | _        nd S |j                                        }|Fd S d S )Nr   z / )nametexttree_parentvalue
class_nameload)selfr
   s     /./modules/evatest/models/cmf_testcase_folder.py_calc_fullnamez CmfTestcaseFolder._calc_fullname   s    I	& 	9 {0;?RRR*/??DI??		%16688K  	9 	9 	9 	9 	9    c                 N    t                                                      ddgz   S )Nr
   r	   )supersave_preload_fields)r   	__class__s    r   r   z%CmfTestcaseFolder.save_preload_fields   s#    ww**,,v/FFFr   Nr   is_task_transition_rundepthc                d    |                                    t                      j        |||d|S )Nr   )r   r   save)r   r   r   argskwargsr   s        r   r   zCmfTestcaseFolder.save   s:    uww|T:PX]hhaghhhr   c                 $    fd |           S )u   
        Рекурсивный вывод тест-кейсов из папки и всех подпапок.
        Возвращает плоский список только тест-кейсов (без папок).
        c                     g }t           j                            |           }|                    |           t           j                            |           }|D ] }|                     |                     !|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   s    F *//v/>>IMM)$$$  16666JJJ' ? ?	2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 	9 	9G G G G G 26Q i i i i i i i* * * * * * *r   r   N)cmf.include
cmf.fieldsmodules.evatest.fieldsr   r   r)   r   r   <module>r2      sg            6 6 6 6 6 6'* '* '* '* '*+= '* '* '* '* '*r   