From c57718af7ed72eb548d7918eb35beb6f82ebb6ec Mon Sep 17 00:00:00 2001 From: Lev Rusanov <30170278+JDM170@users.noreply.github.com> Date: Mon, 29 Aug 2022 10:55:12 +0700 Subject: [PATCH] Initial commit Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com> --- .gitignore | 1 + __init__.py | 2 ++ main.py | 26 ++++++++++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 .gitignore create mode 100644 __init__.py create mode 100644 main.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2812bcc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*__pycache__ diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..f966456 --- /dev/null +++ b/__init__.py @@ -0,0 +1,2 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- diff --git a/main.py b/main.py new file mode 100644 index 0000000..145599c --- /dev/null +++ b/main.py @@ -0,0 +1,26 @@ +#!/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_pc_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