Sistem Asistanı (v1.1) / sayfalar/__pycache__/cron_yoneticisi.cpython-313.pyc
cron_yoneticisi.cpython-313.pyc 95 satır • 20.23 KB
�

�q9i?6���SSKJrJrJrJrJrJrJrJrJ	r	J
r
JrJrJ
r
JrJrJrJrJr SSKJrJrJr SSKJrJr SSKrSSKr"SS\5r"SS\5rg)	�)�QWidget�QVBoxLayout�QHBoxLayout�QLabel�QTableWidget�QTableWidgetItem�QPushButton�QHeaderView�QMessageBox�	QComboBox�	QLineEdit�	QGroupBox�QSpinBox�	QCheckBox�QDialog�	QTextEdit�	QTimeEdit�QApplication)�Qt�QTimer�	QDateTime)�SayfaBasligi�SvgIkonOlusturucuNc�2^�\rSrSrSU4SjjrSrSrU=r$)�LogPenceresi�c��>�[TU]U5 URS5 URSS5 [	U5n[5UlURRS5 URRS5 URUR5 [S5nURRUR5 URU5 UR5 g)NuCron İşlem LoglarıiXi�TzBbackground-color: #2c3e50; color: #ecf0f1; font-family: Monospace;�Yenile)�super�__init__�setWindowTitle�resizerr�	text_area�setReadOnly�
setStyleSheet�	addWidgetr	�clicked�connect�loglari_oku)�self�parent�layout�
btn_yenile�	__class__s    ��E/home/htbiltek/Programlar/sistem asistani/sayfalar/cron_yoneticisi.pyr �LogPenceresi.__init__s����
���� ����3�4����C����T�"��"�������"�"�4�(����$�$�%i�j�������(� ��*�
����"�"�4�#3�#3�4�����$�����c�V�[RRS5n[RRU5(a�[	US5nURSS5 UR
5nUR[US-
S55 UR5nURRU5 URR5nURUR55 SSS5 gURRS5 g!,(df   g=f)N�~/sistem_asistani_cron.log�rr�i�uHenüz bir log kaydı yok.)�os�path�
expanduser�exists�open�seek�tell�max�readr#�setText�verticalScrollBar�setValue�maximum)r*�log_path�f�size�content�sbs      r/r)�LogPenceresi.loglari_okus����7�7�%�%�&B�C��
�7�7�>�>�(�#�#��h��$�����q�!���v�v�x�����s�4�$�;��*�+��&�&�(�����&�&�w�/��^�^�5�5�7�����B�J�J�L�)�%�$�
�N�N�"�"�#?�@�%�$�s
�B%D�
D()r#�N)�__name__�
__module__�__qualname__�__firstlineno__r r)�__static_attributes__�
__classcell__�r.s@r/rrs����"A�Ar1rc�V^�\rSrSrSU4SjjrSrSrSrSrSr	Sr
S	rS
rU=r
$)�CronYoneticisiSayfasi�-c�2>�[TU]U5 [U5Ul[R
"SS5n[
5nUR[SU55 [5Ul
URRS5 URUR5 URRU5 [U5UlURRR!UR"5 URR%S5 UR#5 ['S5n[U5nUR)S5 [
5nUR[S55 [+5UlUR,R//S	Q5 UR,R0R!UR25 URUR,5 UR55 URU5 ['S
5UlUR6RS5 [
UR65n[S5Ul[+5UlUR:R//S
Q5 URUR85 URUR:5 [S5Ul[?5Ul UR@RCSS5 URUR<5 URUR@5 [S5Ul"[+5Ul#URFR//SQ5 URURD5 URURF5 UR[S55 [I5Ul%URJRMS5 URURJ5 UR55 URUR65 [
5n[O5Ul(URPRSS5 UR[S55 URURP5 URU5 [
5n	[US5Ul+URVRYS5 URVR[S5 U	RURV5 []S5n
U
RS5 U
R^R!UR`5 U	R55 U	RU
5 URU	5 URRU5 [
5nUR[S55 UR55 []S5nUR^R!URb5 URU5 URRU5 [e5Ul3URfRiS5 URfRk/SQ5 URfRm5RoS[pRrRt5 URfRm5RoS[pRrRt5 URRURf5 []S 5n
U
RS!5 U
R^R!URv5 URRU
5 UR3S"5 URy5 g)#Nz#33AADD� u$Görev Zamanlayıcı (Cron İşleri)z3color: #e67e22; font-weight: bold; font-size: 11pt;i�uYeni Görev Planla�
uTekrar Sıklığı:)�Günlük�	Haftalık�Aylık�Yıllık�Her Dakika (Test İçin)uZaman Ayarlarız�QGroupBox { border: 1px solid #ddd; border-radius: 5px; margin-top: 5px; } QGroupBox::title { subcontrol-origin: margin; left: 10px; padding: 0 3px; }zAy:)�OcakuŞubat�Mart�NisanuMayıs�Haziran�TemmuzuAğustosuEylül�EkimuKasımuAralıkuGün:��)�Pazar�	Pazartesi�Salıu
Çarşambau	Perşembe�Cuma�	Cumartesiz|  Saat:zHH:mmu'Örn: python3 /home/kullanici/script.pyzKomut:u+Log Kaydı Tut (Sonuçları Görmek İçin)TuEİşlemin çıktısını ~/sistem_asistani_cron.log dosyasına yazar.u
✅ PlanlazNbackground-color: #27ae60; color: white; font-weight: bold; padding: 5px 15px;u<b>Aktif Görevler</b>u📜 Logları Göster�)zZamanlama (Cron)u
Açıklama�Komutr5u🗑️ Seçili Görevi Silz6background-color: #c0392b; color: white; padding: 6px;rW)=rr rr,r�
cron_ikonurr&rr�lbl_sistem_saatir%�	addLayoutr�timer�timeoutr(�saati_guncelle�startr�
setSpacingr�
combo_freq�addItems�currentTextChanged�arayuz_guncelle�
addStretch�container_time�	lbl_month�combo_month�lbl_domr�spin_dom�setRange�lbl_dow�	combo_dowr�	time_edit�setDisplayFormatr
�	txt_komut�setPlaceholderTextr�chk_log�
setChecked�
setToolTipr	r'�
gorev_ekle�log_penceresi_acr�table�setColumnCount�setHorizontalHeaderLabels�horizontalHeader�setSectionResizeModer
�
ResizeMode�Stretch�	gorev_sil�
listeyi_yukle)r*r+�icon�
header_layout�grp_ekle�l_form�h_freq�l_time_inner�h_cmd�h_opts�btn_ekle�
h_list_header�
btn_view_logs�btn_silr.s              �r/r �CronYoneticisiSayfasi.__init__.s}���
���� �!�$�'��� �+�+�I�r�:��$�
�
�����-S�UY� Z�[� &�������+�+�,a�b����� 5� 5�6������m�,��D�\��
��
�
���"�"�4�#6�#6�7��
�
����������1�2���X�&�����"��������� 5�6�7�#�+������ � �!l�m����*�*�2�2�4�3G�3G�H�������)��������� �(�(9�:������)�)�+C�	D�"�4�#6�#6�7�� �����$�;������!�!�#`�	a����t�~�~�.����t�/�/�0��g���� �
��
�D�M�M�$:�$:�1�b�$A����t�|�|�,����t�}�}�-��g����"��������� o�p����t�|�|�,����t�~�~�.�	���v�j�1�2�"�������'�'��0����t�~�~�.����!�����,�,�-��
��"�������)�)�*S�T�
����x�(�)�
������'��������� �!N�O���������%������ g�h�������&��|�,�����o�p���� � ����1���������"����� ������h�'�$�
�
�����'?� @�A�� � �"�#�$;�<�
����%�%�d�&;�&;�<����
�.������m�,�!�^��
��
�
�!�!�!�$��
�
�,�,�-X�Y��
�
�#�#�%�:�:�1�k�>T�>T�>\�>\�]��
�
�#�#�%�:�:�1�k�>T�>T�>\�>\�]������d�j�j�)��;�<�����V�W���������/������g�&����Z�(����r1c��[R"5nURRSUR	S5S35 g)NzSistem Saati: zdd.MM.yyyy HH:mm:ssz (Yerel))r�currentDateTimerlr?�toString)r*�nows  r/rp�$CronYoneticisiSayfasi.saati_guncelle�s9���'�'�)�����%�%��s�|�|�DY�7Z�6[�[c�&d�er1c��URR5 URR5 URR5 URR5 UR
R5 URR5 URRS5 US:XagUS:Xa5UR
R5 URR5 gUS:Xa5URR5 URR5 gUS:XaiURR5 URR5 URR5 URR5 gUS:XaURRS5 gg)NTrWrXrYrZr[F)
ry�hiderzr{r|r~rr��
setEnabled�show)r*�freqs  r/rv�%CronYoneticisiSayfasi.arayuz_guncelle�s4��������t�/�/�4�4�6�������T�]�]�/�/�1�������T�^�^�0�0�2����!�!�$�'��:���
�[�
 ��L�L�������!4�!4�!6�
�X�
��L�L�������!3�!3�!5�
�Z�
��L�L�������!3�!3�!5��N�N���!�4�#3�#3�#8�#8�#:�
�/�
/��N�N�%�%�e�,�0r1c�:�[U5nUR5 grI)r�exec)r*�dlgs  r/r��&CronYoneticisiSayfasi.log_penceresi_ac�s���4� �����
r1c�2�URRS5 [R"SSS[RS9nUR5nUGH8nUR
5nU(aURS5(aM3URSS9n[U5S:�dMSS	RUSS5nUSnURS
5SnURU5nURR5n	URRU	5 URRU	S[U55 URRU	S[U55 URRU	S[U55 GM; g! g=f)
Nr�
crontab -lT��shell�text�stderr�#�)�maxsplit�� z >>rbr5)r��setRowCount�
subprocess�check_output�DEVNULL�
splitlines�strip�
startswith�split�len�join�cron_cozumle�rowCount�	insertRow�setItemr)
r*�out�lines�line�parts�	zaman_kod�komut�
display_komut�aciklamar4s
          r/r��#CronYoneticisiSayfasi.listeyi_yukle�sH���
�
���q�!�	��)�)�,�d��V`�Vh�Vh�i�C��N�N�$�E����z�z�|���t���s�3�3�X��
�
�A�
�.���u�:��?� #����r��� 3�I�!�!�H�E�%*�K�K��$6�q�$9�M�#�0�0��;�H��
�
�+�+�-�A��J�J�(�(��+��J�J�&�&�q�!�-=�i�-H�I��J�J�&�&�q�!�-=�h�-G�H��J�J�&�&�q�!�-=�m�-L�M�%��&	��s�BF�'C*F�Fc�j�UR5n[U5S:wagUup4pVnUS:XagUS:XaUS:XaUS:XaSUSU3$US:Xa'US:Xa!US:wa/SQnS	U[U5S
USU3$US:waUS:XaUS:XaSUSUSU3$US:waUS:waS
USUSUSU3$g! g=f)Nr�uÖzel/Karmaşık�	* * * * *z
Her Dakika�*u	Her Gün �:)rd�PztrfuÇarşuPerşrg�CmtzHer r�u
Her Ayın u	. günü u	Her Yıl �.z tarihinde uÖzel Zamanlama)r�r��int)	r*�cron_str�p�m�h�dom�mon�dow�gunlers	         r/r��"CronYoneticisiSayfasi.cron_cozumle�s���N�N����q�6�Q�;�1����c��	��;�&�|��c�z�c�S�j�S�C�Z�)�A�3�a�PQ�s�@S�9S��c�z�c�S�j�S�C�Z�T���f�S��X�.�/�q���1�Q�C�8�8��c�z�c�S�j�S�C�Z�*�S�E�QZ�[\�Z]�]^�_`�^a�@b�9b��c�z�c�S�j�9�S�E��3�%�{�ST�RU�UV�WX�VY�1Z�*Z� ��	�� �s"�B.�B.�	,B.�6B.�B.�.B2c	���URR5R5nU(d[R"USS5 gUnUR
R
5(a.[RRS5nSUSUSUSUS3	nURR5nURR5nUR5nUR5nS	nUS
:Xa	USUS3nO�US
:Xa%UR R#5n	USUSU	3nO�US:Xa&UR$R'5n
USUSU
S3nOTUS:XaFUR$R'5n
UR(R#5S-nUSUSU
SUS3nOUS:XaSn[*R,"SSS[*R.S9nUSU3n
X�;a[R"USS5 gUS-U
-S-n[*R0"SS/[*R2SS9nUR5US9 UR6S :XaCUR95 URR;5 [R<"US!S"5 g[R>"USS#5 g! S	nN�=f![@a+n[R>"US[CU55 SnAgSnAff=f)$N�HatauLütfen bir komut girin.r3zecho "$(date): z
 calisti" >> z && z >> z 2>&1�rWr�z * * *rXz * * rYz * *rZrbz *r[r�r�Tr��BilgiuBu görev zaten listede var.�
�crontab�-��stdinr���inputruBaşarılıuGörev sisteme eklendi.uCrontab güncellenemedi.)"r�r�r�r�warningr��	isCheckedr6r7r8rs�currentTextr��time�minute�hourr�currentIndexr|�valuerzr�r�r��Popen�PIPE�communicate�
returncoder��clear�information�critical�	Exception�str)r*�
base_komut�final_komut�log_filer�r�r�r�r�r�r�r��mevcut�
yeni_satir�yeni_crontabr��es                 r/r�� CronYoneticisiSayfasi.gorev_ekle�s����^�^�(�(�*�0�0�2�
������f�.H�I��!���<�<�!�!�#�#��w�w�)�)�*F�G�H�+�J�<�}�X�J�d�S]�R^�^b�ck�bl�lq�r�K����*�*�,���~�~�"�"�$���K�K�M���I�I�K�����:����A�a�S��'�H�
�[�
 ��.�.�-�-�/�C���A�a�S��c�U�+�H�
�X�
��-�-�%�%�'�C���A�a�S��#��d�+�H�
�Z�
��-�-�%�%�'�C��"�"�/�/�1�A�5�C���A�a�S��#��a��u�B�/�H�
�/�
/�"�H�	7�
 �#�0�0��T�PT�]g�]o�]o�p��%�:�Q�{�m�4�J��#��#�#�D�'�3Q�R��!�D�=�:�5��<�L�� � �)�S�!1����t�T�A�
�M�M��M�-��|�|�q� ��"�"�$����$�$�&��'�'��m�=V�W��$�$�T�6�3M�N��#
 �R�F��$�	7�� � ��v�s�1�v�6�6��	7�s7�*%J �$J)�4BJ)�J)� J&�$J)�)
K�3!K�Kc�4�URR5nUS:agURRUS5R5n[R
"USS[RR[RR-5[RR:Xag[R"SSSS9n/nSnURRUS5R5nUR5HznUR5nU(aURS	5(aURU5 MCURU5(aXg;aU(dSnMiURU5 M| S
RU5S
-n[R "SS/[R"SS
9n	U	R%US9 UR'5 g![(a+n
[R*"US[-U
55 Sn
A
gSn
A
ff=f)Nr�Silu'Seçili görevi silmek istiyor musunuz?r�T)r�r�Fr5r�r�r�r�r�r�r�)r��
currentRow�itemr�r�question�StandardButton�Yes�Nor�r�r�r�r��appendr�r�r�r�r�r�r�r�)r*�row�	cron_partr�
yeni_liste�silindi�secilen_gorunen_komutr�rr�rs           r/r��CronYoneticisiSayfasi.gorev_sil(s����j�j�#�#�%����7�F��J�J�O�O�C��+�0�0�2�	�����e�-V�Xc�Xr�Xr�Xv�Xv�zE�zT�zT�zW�zW�YW�X�\g�\v�\v�\y�\y�y��	7��,�,�\��D�Q�F��J��G�%)�J�J�O�O�C��$;�$@�$@�$B�!��)�)�+���z�z�|���t���s�3�3��%�%�d�+���?�?�9�-�-�2G�2O�"�"&�� ��!�!�$�'�,� �9�9�Z�0�4�7�L�� � �)�S�!1����t�T�A�
�M�M��M�-���� ���	7�� � ��v�s�1�v�6�6��	7�s�6D+G"�"
H�,!H�H)r�rrsrzrxr,r{r~ryrlr|r�r�rnr�rI)rJrKrLrMr rprvr�r�r�r�r�rNrOrPs@r/rRrR-s4���s�jf�
-�(��4!�";7�z%7�%7r1rR)�PyQt6.QtWidgetsrrrrrrr	r
rrr
rrrrrrr�PyQt6.QtCorerrr�gorsel_araclarrrr�r6rrR�r1r/�<module>rsQ��J�J�J�J�J�/�.�:��	� A�7� A�D`7�G�`7r1