Открыть боковую панель
cgfrosty
school-ringer
Коммиты
cc0b04cb
Коммит
cc0b04cb
создал
Дек 26, 2023
по автору
Леляев Петр Алексеевич
Просмотр файлов
Проверка активности демона через systemctl, а не надпись на кнопке
владелец
2ab6a21f
Изменения
3
Скрыть пробелы
Построчно
Рядом
app.py
Просмотр файла @
cc0b04cb
...
...
@@ -32,7 +32,8 @@ if __name__ == '__main__':
else
:
filename
=
f
"/tmp/school-ringer/log.txt"
logging
.
basicConfig
(
filename
=
f
"
{
filename
}
"
,
# filename=f"{filename}",
filename
=
f
"/home/user/.config/school-ringer/log.txt"
,
format
=
u
'%(asctime)s %(filename)s [LINE:%(lineno)d] [%(funcName)s()] #%(levelname)-15s %(message)s'
,
level
=
logging
.
INFO
,
)
...
...
school_ringer_modules/schedules_dataclasses.py
Просмотр файла @
cc0b04cb
...
...
@@ -92,6 +92,7 @@ class AllSchedules:
}
}
self
.
_write
(
self
.
schedules
)
run_command
(
f
'chmod 644
{
self
.
filename
}
'
)
logging
.
info
(
f
'Файла с расписаниями не было. Создан новый. Расписания:
{
self
.
schedules
}
'
)
def
__getitem__
(
self
,
item
:
str
)
->
Schedule
:
...
...
@@ -162,7 +163,7 @@ class AllSchedules:
with
open
(
tempfile
,
'w'
,
encoding
=
'utf-8'
)
as
file
:
file
.
write
(
dumps
(
value
,
indent
=
4
,
ensure_ascii
=
False
))
logging
.
info
(
f
'Расписания записаны в файл
{
tempfile
}
'
)
run_command
(
f
'pkexec mv
{
tempfile
}
{
self
.
filename
}
'
)
run_command
(
f
'pkexec
sh -c "
mv
{
tempfile
}
{
self
.
filename
}
&& chmod 644
{
self
.
filename
}
"
'
)
logging
.
info
(
f
'Расписания перенесены в
{
self
.
filename
}
'
)
except
KeyError
:
logging
.
info
(
'[error] Ошибка записи в файл'
)
...
...
school_ringer_modules/settings.py
Просмотр файла @
cc0b04cb
...
...
@@ -198,15 +198,13 @@ class CallsSettings(QWidget):
"""
Включение и выключение фоновой службы, запускающей звонки
"""
if
self
.
btn_switch_service
.
text
()
==
'Выключить сервис
'
:
run_command
(
'pkexec
sh -c "
systemctl
stop school-ringer.service ;
disable school-ringer.service
"
'
)
if
run_command
(
'systemctl is-active school-ringer.service'
).
strip
()
==
'active
'
:
run_command
(
'pkexec systemctl disable
--now
school-ringer.service'
)
self
.
btn_switch_service
.
setText
(
'Включить сервис'
)
logging
.
info
(
f
'Сервис выключен'
)
# self.real_next_call_label.setText('Сервис выключен')
else
:
self
.
btn_switch_service
.
setText
(
'Выключить сервис'
)
run_command
(
'pkexec sh -c "systemctl restart school-ringer.service ; '
'systemctl enable school-ringer.service"'
)
run_command
(
'pkexec systemctl enable --now school-ringer.service'
)
logging
.
info
(
f
'Сервис включён'
)
def
update_active_schedules
(
self
,
string_of_schedules
)
->
None
:
...
...
@@ -275,7 +273,7 @@ class CallsSettings(QWidget):
f
'
{
dlg
.
shuffle_checkbox
.
isChecked
()
}
"'
,
shell
=
True
)
if
cmd
.
returncode
==
0
:
self
.
music_playing_thread
.
start
()
#
self.music_playing_thread.start()
self
.
play_music_on_breaks_btn
.
setText
(
'Не играть музыку'
)
self
.
real_music_on_breaks_status_label
.
setText
(
f
'Играет из папки
{
music_folder
}
'
)
self
.
is_breaks_music_on
=
True
...
...
@@ -283,7 +281,7 @@ class CallsSettings(QWidget):
else
:
if
subprocess
.
run
(
f
'pkexec sh -c "py-ini-config set
{
config_path
}
/school-ringer.conf Main '
f
'is_breaks_music_on false"'
,
shell
=
True
).
returncode
==
0
:
self
.
music_playing_thread
.
terminate
()
#
self.music_playing_thread.terminate()
subprocess
.
run
(
'pkill play'
,
shell
=
True
)
self
.
play_music_on_breaks_btn
.
setText
(
'Играть музыку на переменах'
)
self
.
real_music_on_breaks_status_label
.
setText
(
f
'Отключена'
)
...
...
@@ -395,3 +393,4 @@ class CallsSettings(QWidget):
self
.
setFixedHeight
(
self
.
height
())
self
.
setWindowTitle
(
f
'Организация звонков. Версия
{
version
}
'
)
self
.
show
()
logging
.
info
(
'Приложение запущено'
)
Редактирование
Предварительный просмотр
Поддерживает Markdown
0%
Попробовать снова
или
прикрепить новый файл
.
Отмена
You are about to add
0
people
to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать