-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtag_utils.py
More file actions
61 lines (48 loc) · 1.78 KB
/
tag_utils.py
File metadata and controls
61 lines (48 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
def get_schema(tag):
schema = ''
schema_char_type = ''
g_tag = []
for char in tag:
if char.isalpha():
if not schema_char_type == "W":
schema_char_type = "W"
schema += schema_char_type
g_tag.append(char)
else:
g_tag[len(g_tag) - 1] += char
if char.isnumeric():
schema_char_type = "N"
schema += schema_char_type
g_tag.append(char)
if not char.isalnum():
schema_char_type = char # record delineator schema_char_type
schema += schema_char_type
g_tag.append(char)
return schema, g_tag
def read_in_data(data_loc, line_str):
record_list = line_str.rsplit(',"')
return record_list[data_loc].strip('"')
def is_tag_part_used(tag_part, schema, matrix0, mode):
equip_level_tree = matrix0[0]
first_level_tree = matrix0[1]
second_level_tree = matrix0[2]
third_level_tree = matrix0[3]
fourth_level_tree = matrix0[4]
tag_part_is_used = 0
if tag_part == equip_level_tree \
or tag_part == first_level_tree \
or tag_part == first_level_tree + 1 and mode == 2 \
or tag_part == second_level_tree \
or tag_part == second_level_tree + 1 and mode == 2 \
or tag_part == third_level_tree \
or tag_part == third_level_tree + 1 and mode == 2 \
or tag_part == fourth_level_tree \
or tag_part == fourth_level_tree + 1 and mode == 2 \
or not schema[tag_part:tag_part + 1].isalpha():
tag_part_is_used = 1
return tag_part_is_used
def add_equip_part(g_tag, level_tree, mode):
eq_part = g_tag[level_tree]
if mode == 2:
eq_part += g_tag[level_tree + 1]
return eq_part