6
6
7
7
8
8
class Edge (object ):
9
-
10
- __slots__ = ("key" , "source" , "target" , "judgement" , "score" , "user" , "timestamp" )
9
+ __slots__ = (
10
+ "key" ,
11
+ "source" ,
12
+ "target" ,
13
+ "judgement" ,
14
+ "score" ,
15
+ "user" ,
16
+ "created_at" ,
17
+ "deleted_at" ,
18
+ )
11
19
12
20
def __init__ (
13
21
self ,
@@ -16,14 +24,16 @@ def __init__(
16
24
judgement : Judgement = Judgement .NO_JUDGEMENT ,
17
25
score : Optional [float ] = None ,
18
26
user : Optional [str ] = None ,
19
- timestamp : Optional [str ] = None ,
27
+ created_at : Optional [str ] = None ,
28
+ deleted_at : Optional [str ] = None ,
20
29
):
21
30
self .key = Identifier .pair (left_id , right_id )
22
31
self .target , self .source = self .key
23
32
self .judgement = judgement
24
33
self .score = score
25
34
self .user = user
26
- self .timestamp = timestamp
35
+ self .created_at = created_at
36
+ self .deleted_at = deleted_at
27
37
28
38
def other (self , cur : Identifier ) -> Identifier :
29
39
if cur == self .target :
@@ -37,7 +47,8 @@ def to_dict(self) -> Dict[str, Any]:
37
47
"judgement" : self .judgement .value ,
38
48
"score" : self .score ,
39
49
"user" : self .user ,
40
- "timestamp" : self .timestamp ,
50
+ "created_at" : self .created_at ,
51
+ "deleted_at" : self .deleted_at ,
41
52
}
42
53
43
54
def to_line (self ) -> str :
@@ -47,7 +58,7 @@ def to_line(self) -> str:
47
58
self .judgement .value ,
48
59
self .score ,
49
60
self .user ,
50
- self .timestamp ,
61
+ self .created_at ,
51
62
]
52
63
return json .dumps (row ) + "\n "
53
64
@@ -69,14 +80,17 @@ def __repr__(self) -> str:
69
80
@classmethod
70
81
def from_line (cls , line : str ) -> "Edge" :
71
82
data = json .loads (line )
72
- return cls (
83
+ edge = cls (
73
84
data [0 ],
74
85
data [1 ],
75
86
judgement = Judgement (data [2 ]),
76
87
score = data [3 ],
77
88
user = data [4 ],
78
- timestamp = data [5 ],
89
+ created_at = data [5 ],
79
90
)
91
+ if len (data ) > 6 :
92
+ edge .deleted_at = data [6 ]
93
+ return edge
80
94
81
95
@classmethod
82
96
def from_dict (cls , data : Dict [str , Any ]) -> "Edge" :
@@ -86,5 +100,6 @@ def from_dict(cls, data: Dict[str, Any]) -> "Edge":
86
100
judgement = Judgement (data ["judgement" ]),
87
101
score = data ["score" ],
88
102
user = data ["user" ],
89
- timestamp = data ["timestamp" ],
103
+ created_at = data .get ("created_at" ),
104
+ deleted_at = data .get ("deleted_at" ),
90
105
)
0 commit comments