@@ -8,9 +8,60 @@ def __init__(self, project, name):
8
8
directory_id = project .default_directory .id ,
9
9
file_type = "compound/conversational"
10
10
)
11
-
11
+ self . project = project
12
12
self .messgaes_meta = []
13
13
14
+ self .add_conversationa_attributes_if_doesnt_exist ()
15
+
16
+ def add_conversationa_attributes_if_doesnt_exist (self ):
17
+ default_schema = self .project .schema .default_schema ()
18
+ attribute_list = self .project .attribute .list (default_schema )
19
+
20
+ message_author_attribute = None
21
+ message_time_attribute = None
22
+ message_date_attribute = None
23
+
24
+ for attribute in attribute_list ['attribute_group_list' ]:
25
+ if attribute ['name' ] == 'message_author' :
26
+ message_author_attribute = attribute
27
+ elif attribute ['name' ] == 'message_time' :
28
+ message_time_attribute = attribute
29
+ elif attribute ['name' ] == 'message_date' :
30
+ message_date_attribute = attribute
31
+
32
+ if message_author_attribute is None :
33
+ new_message_author_attribute = self .project .attribute .new (default_schema )
34
+ self .project .attribute .update (
35
+ new_message_author_attribute ,
36
+ prompt = "Author" ,
37
+ kind = "text" ,
38
+ name = "message_author" ,
39
+ is_global = True ,
40
+ global_type = 'file'
41
+ )
42
+
43
+ if message_time_attribute is None :
44
+ new_message_time_attribute = self .project .attribute .new (default_schema )
45
+ self .project .attribute .update (
46
+ new_message_time_attribute ,
47
+ prompt = "Time" ,
48
+ kind = "time" ,
49
+ name = "message_time" ,
50
+ is_global = True ,
51
+ global_type = 'file'
52
+ )
53
+
54
+ if message_date_attribute is None :
55
+ new_message_date_attribute = self .project .attribute .new (default_schema )
56
+ self .project .attribute .update (
57
+ new_message_date_attribute ,
58
+ prompt = "Date" ,
59
+ kind = "date" ,
60
+ name = "message_date" ,
61
+ is_global = True ,
62
+ global_type = 'file'
63
+ )
64
+
14
65
def add_message (self , message_file , author = None , time = None , date = None ):
15
66
message_meta = {
16
67
"author" : author ,
0 commit comments