o
    m{i                     @   s8  d dl Z d dlZd dlmZmZ d dlmZmZmZm	Z	 d dl
mZmZmZ e eZeddZdZdZd	Zd
edefddZd
edefddZd
edefddZdefddZdedefddZd
ededefddZeejdkdefddZ eejekdefddZ!eej"edefdd Z#dS )!    N)RouterF)CallbackQueryMessageInlineKeyboardMarkupInlineKeyboardButton)get_user_languageget_language_textget_button_textjobs)namezmenu:button9zjob:	jobs_backlangreturnc              
   C   s   d}z@ddl m} t|}| }|d| f | }|  |r:|d r=t|d 	 r@t|d 	 }W |S W |S W |S W |S  t
y` } ztd|  d|  W Y d}~|S d}~ww )u3   Получает текст кнопки назадu   ⬅️ Назадr   )MENU_DBz+SELECT button9 FROM language WHERE name = ?z get_button9_text error for lang=: N)dbr   sqlite3connectcursorexecutefetchoneclosestrstrip	Exceptionloggererror)r   labelr   conncurrowe r#   @/var/www/www-root/data/www/magazinbotpanel.site/handlers/jobs.pyget_button9_text   s,   
 r%   c                 C      t tt| tdggdS )u@   Создает клавиатуру с кнопкой назадtextcallback_datainline_keyboard)r   r   r%   BACK_CBr   r#   r#   r$   build_back_keyboard       r.   c                 C   r&   )u\   Создает клавиатуру для возврата к списку вакансийr'   r*   )r   r   r%   JOBS_BACK_CBr-   r#   r#   r$   build_jobs_back_keyboard&   r/   r1   c               
   C   sl   zt d} |  }|d | }|   |W S  ty5 } ztd|  g W  Y d}~S d}~ww )u5   Получает все вакансии из jobs.dbjobs.dbzSELECT name_jobs FROM jobsz!Error getting jobs from jobs.db: N)	r   r   r   r   fetchallr   r   r   r   )r   r    r   r"   r#   r#   r$   get_all_jobs,   s   

r4   job_namec              
   C   s   z't d}| }|d| f | }|  |r%|d |d dW S W dS  tyE } ztd|  d|  W Y d}~dS d}~ww )	uD   Получает детали вакансии по названиюr2   z9SELECT name_jobs, text_jobs FROM jobs WHERE name_jobs = ?r      )r   descriptionNzError getting job details for r   )	r   r   r   r   r   r   r   r   r   )r5   r   r    r!   r"   r#   r#   r$   get_job_details:   s    
r8   c                 C   sT   g }|D ]}|d }| t|t | dg q| tt| tdg t|dS )uH   Создает клавиатуру со списком вакансийr   r'   r*   )appendr   JOBS_CB_PREFIXr%   r,   r   )r   r   keyboard_rowsjobr5   r#   r#   r$   build_jobs_keyboardL   s   
r=   zmenu:button5cbc                       | j j}t|}z
| j I dH  W n	 ty   Y nw t }|s:d}| jj|t|dI dH  |  I dH  dS t	|dp@d}t
||}| jj||dI dH  |  I dH  dS )uD   
    Открывает список вакансий (button5)
    N6   На данный момент вакансий нетreply_markuptext31$   Доступные вакансии:	from_useridr   messagedeleter   r4   answerr.   r	   r=   r>   user_idr   r   no_jobs_textrC   keyboardr#   r#   r$   	open_jobs]   $   
rO   c                    r?   )u?   
    Возвращает к списку вакансий
    Nr@   rA   rC   rD   rE   rK   r#   r#   r$   back_to_jobs_list~   rP   rQ   c                    s   | j j}t|}| jttd }t|}|s$| jdddI dH  dS z
| j	 I dH  W n	 t
y7   Y nw d|d  d|d  }t|}| jj||d	I dH  |  I dH  dS )
u<   
    Показывает детали вакансии
    Nu$   Вакансия не найденаT)
show_alertu   💼 r   z

r7   rA   )rF   rG   r   datalenr:   r8   rJ   rH   rI   r   r1   )r>   rL   r   r5   r<   message_textrN   r#   r#   r$   show_job_details   s"   rV   )$loggingr   aiogramr   r   aiogram.typesr   r   r   r   r   r   r	   r
   	getLogger__name__r   routerr,   r:   r0   r   r%   r.   r1   listr4   dictr8   r=   callback_queryrS   rO   rQ   
startswithrV   r#   r#   r#   r$   <module>   s,    

  