Add MatchIO as module

Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com>
This commit is contained in:
2022-08-29 11:04:53 +07:00
parent 65afbacb58
commit 558af00402
5 changed files with 6 additions and 47 deletions

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "m_match_name"]
path = m_match_name
url = https://github.com/JDM170/m_match_name

1
m_match_name Submodule

Submodule m_match_name added at c57718af7e

View File

@@ -9,11 +9,6 @@ from match_name import MatchIO
default_values = { 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": { "pc": {
"2": [ # Пятидневка "2": [ # Пятидневка
"IT01", "IT01",
@@ -33,7 +28,7 @@ def main(comp_key, is_debug):
list_pc_names = loaded_file.get("pc").get(comp_key) list_pc_names = loaded_file.get("pc").get(comp_key)
if list_pc_names is not None: if list_pc_names is not None:
for pc_name in list_pc_names: for pc_name in list_pc_names:
formatted_pc_name = matchio.check_arm_name(pc_name) formatted_pc_name = matchio.check_pc_name(pc_name)
if formatted_pc_name is not False: if formatted_pc_name is not False:
if is_debug is False: if is_debug is False:
# system("shutdown /m \\\{} /r /f /t 60 /c \"Плановая перезагрузка компьютера через 1 минуту!\"".format(formatted_pc_name)) # system("shutdown /m \\\{} /r /f /t 60 /c \"Плановая перезагрузка компьютера через 1 минуту!\"".format(formatted_pc_name))
@@ -53,7 +48,7 @@ if __name__ == "__main__":
loaded_file = filesio.get_data() loaded_file = filesio.get_data()
if loaded_file is False: if loaded_file is False:
raise OSError raise OSError
matchio = MatchIO(loaded_file.get("expr_list")) matchio = MatchIO()
main(argv[1], argv[2].strip() == "debug") main(argv[1], argv[2].strip() == "debug")
except OSError: except OSError:
print("Файл с настройками не найден. Создан файл со стандартными настройками.") print("Файл с настройками не найден. Создан файл со стандартными настройками.")

View File

@@ -1,26 +0,0 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-
from re import match
# Список выражений по которым проводится проверка
# По дефолту стоит регион R54, индекс 630300
default_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
]
class MatchIO:
def __init__(self, expr_list=None):
self.expr_list = expr_list is None and default_expr_list or expr_list
def check_arm_name(self, pc_name):
for r in self.expr_list:
if match(r[0], pc_name):
pc_name = "{}{}".format(r[1], pc_name)
break
if match(self.expr_list[2][0], pc_name):
return pc_name
return False

View File

@@ -1,18 +1,4 @@
{ {
"expr_list" : [
[
"^[a-zA-Z]+\\d+$",
"R54-630300"
],
[
"^\\d+[a-zA-Z]+\\d+$",
"R54-"
],
[
"^[rR]\\d*[-]\\d+[a-zA-Z]+\\d+$",
""
]
],
"pc" : { "pc" : {
"2" : [ "2" : [
"IT01", "IT01",