a
�<�e� � @ sH d dl m mZ d dlmZ d dlmZ d dlmZ G dd� d�Z dS )� N)�Frame)�TEMPLATE)�Pathc @ s0 e Zd Zed�dd�Zed�dd�Zdd� Zd S )
�Designer)�output_pathc C s* || _ t�||�| _| j�� | _d| _d S )Nr )r � endpointsZFiles�
figma_fileZget_file� file_data�frameCounter)�self�token�file_keyr � r �F/Users/pranavzagade/PycharmProjects/LuciaVision/tkdesigner/designer.py�__init__ s zDesigner.__init__)�returnc C sv g }| j d d d d D ]V}zt|| j| j| j�}W n tyP td��Y n0 |�|�t�� | jd7 _q|S )zReturn main code.
Zdocument�childrenr z)Frame not found in figma file or is empty� ) r r r r r
� Exception�append�to_coder )r Zframes�f�framer r r r s zDesigner.to_codec C sd | � � }tt|��D ]J}|dkr<| j�d�j|| dd� q| j�d|� d��j|| dd� qdS )z<Write code and assets to the specified directories.
r zgui.pyzUTF-8)�encodingZguiz.pyN)r �range�lenr �joinpath�
write_text)r �code�indexr r r �design s
zDesigner.designN)�__name__�
__module__�__qualname__r r �strr r r r r r r s r )
Ztkdesigner.figma.endpointsZfigmar Ztkdesigner.figma.framer Ztkdesigner.templater �pathlibr r r r r r �<module> s