mirror of
https://github.com/JDM170/comp_auto_restart
synced 2024-10-25 13:43:54 +07:00
66 lines
2.4 KiB
Python
66 lines
2.4 KiB
Python
#!/usr/bin/python3
|
||
# -*- coding: utf-8 -*-
|
||
|
||
from sys import exit, argv
|
||
from os import system
|
||
from subprocess import Popen
|
||
from time import sleep
|
||
from filesio import FilesIO
|
||
from match_name import MatchIO
|
||
|
||
|
||
default_values = {
|
||
"expr_list": [
|
||
[r"^[a-zA-Z]+\d+$", "R54-630300"], # THE01
|
||
[r"^\d+[a-zA-Z]+\d+$", "R54-"], # 630300THE01
|
||
[r"^[rR]\d*[-]\d+[a-zA-Z]+\d+$", ""] # R54-630300THE01
|
||
],
|
||
"pc": {
|
||
"2": [ # Пятидневка
|
||
"IT01",
|
||
"IT02"
|
||
],
|
||
"7": [ # Цех
|
||
"PIS09",
|
||
"PIS10"
|
||
]
|
||
}
|
||
}
|
||
loaded_file = None
|
||
|
||
|
||
def main(comp_key, is_prod):
|
||
global loaded_file
|
||
list_pc_names = loaded_file.get("pc").get(comp_key)
|
||
if list_pc_names is not None:
|
||
for pc_name in list_pc_names:
|
||
formatted_pc_name = matchio.check_arm_name(pc_name)
|
||
if formatted_pc_name is not False:
|
||
# print("pc_name:", formatted_pc_name)
|
||
if is_prod is True:
|
||
# system("shutdown /m \\\{} /r /f /t 60 /c \"Плановая перезагрузка компьютера через 1 минуту!\"".format(formatted_pc_name))
|
||
Popen("shutdown /m \\\{} /r /f /t 60 /c \"Плановая перезагрузка компьютера через 1 минуту!\"".format(formatted_pc_name)).wait()
|
||
else:
|
||
print("shutdown /m \\\{} /r /f /t 60 /c \"Плановая перезагрузка компьютера через 1 минуту!\"".format(formatted_pc_name))
|
||
else:
|
||
print("Попробуйте еще раз выбрать область запуска скрипта!")
|
||
|
||
|
||
if __name__ == "__main__":
|
||
if len(argv) < 3:
|
||
print("Укажите номер запускаемой области!\n2 - Кабинеты; 7 - Цех")
|
||
exit()
|
||
try:
|
||
filesio = FilesIO(default_values=default_values)
|
||
loaded_file = filesio.get_data()
|
||
if loaded_file is False:
|
||
raise OSError
|
||
matchio = MatchIO(loaded_file.get("expr_list"))
|
||
main(argv[1], argv[2].strip() == "prod")
|
||
except OSError:
|
||
print("Файл с настройками не найден. Создан файл со стандартными настройками.")
|
||
sleep(20)
|
||
exit()
|
||
except KeyboardInterrupt:
|
||
exit()
|