
    Ni@                     N    d dl  d dl d dlmZ  G d dej                        Zy)    )*)cmf_testcycle_folderc                   <     e Zd Zd Z fdZddd fd
Zd Z xZS )CmfTestcycleFolderc                     | j                   | _        | j                  }|r[|r:|j                  j                  dk(  r!|j                    d| j                   | _        ny|j                  j                         }|rZyy)uI   Рассчитать полное имя с учетом иерархииr   z / N)nametexttree_parentvalue
class_nameload)selfr
   s     0./modules/evatest/models/cmf_testcycle_folder.py_calc_fullnamez!CmfTestcycleFolder._calc_fullname   sk    II	&&{00;;?SS*//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&CmfTestcycleFolder.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CmfTestcycleFolder.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CmfTestcyclelistextendr   )r   result
testcycles
subfolders	subfolderget_folder_testcycless        r   r(   z:CmfTestcycleFolder.rec_list.<locals>.get_folder_testcycles   st    F  ,,111@JMM*%  2277F7KJ' @	3I>?@ Mr    )r   r   r   r(   s      @r   rec_listzCmfTestcycleFolder.rec_list   s    
	  %T**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!      7(+-@@ (+r   