U
    Ȝhi                     @   s2   d dl T d dlT d dlmZ G dd dejZdS )    )*)cmf_testcase_folderc                       s@   e Zd Zdd Z fddZddd fdd	
Zd
d Z  ZS )CmfTestcaseFolderc                 C   sJ   | j | _| j}|rF|rF|jjdkrF|j  d| j | _nqF|j }qd S )Nr   z / )nametexttree_parentvalue
class_nameload)selfr    r   /./modules/evatest/models/cmf_testcase_folder.py_calc_fullname   s    z CmfTestcaseFolder._calc_fullnamec                    s   t   ddg S )Nr   r   )supersave_preload_fields)r   	__class__r   r   r      s    z%CmfTestcaseFolder.save_preload_fieldsNr   is_task_transition_rundepthc                   s    |    t j|||d|S )Nr   )r   r   save)r   r   r   argskwargsr   r   r   r      s    zCmfTestcaseFolder.savec                    s    fdd  | S )u   
        Рекурсивный вывод тест-кейсов из папки и всех подпапок.
        Возвращает плоский список только тест-кейсов (без папок).
        c                    sF   g }t jj| d}|| t jj| d}|D ]}| | q.|S )uP   Рекурсивно получить все тест-кейсы из папки)folder)r   )ZmodelsZCmfTestcaselistextendr   )r   resultZ	testcasesZ
subfoldersZ	subfolderget_folder_testcasesr   r   r      s    
z8CmfTestcaseFolder.rec_list.<locals>.get_folder_testcasesr   )r   r   r   r   r   r   rec_list   s    zCmfTestcaseFolder.rec_list)__name__
__module____qualname__r   r   r   r   __classcell__r   r   r   r   r      s   
r   N)Zcmf.includeZ
cmf.fieldsZmodules.evatest.fieldsr   r   r   r   r   r   <module>   s   