-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgrade.py
102 lines (84 loc) · 2.07 KB
/
grade.py
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
from dataclasses import dataclass
from datetime import datetime
@dataclass
class Grade():
"""
a grade for an assignment
"""
actor: str
repo: str
courseid: int
assignmentid: int
userid: int
points: float
updated: datetime
def to_dict(self):
"""
returns a dict with the data
:return:
"""
data = {
'actor': self.actor,
'repo': self.repo,
'courseid': self.courseid,
'assignmentid': self.assignmentid,
'userid': self.userid,
'points': self.points,
'updated': self.updated
}
return data
def from_dict(self, dict):
"""
initialize the object from a dictionary
:param dict:
:return:
"""
self.actor = dict['actor']
self.repo = dict['repo']
self.courseid = dict['courseid']
self.assignmentid = dict['assignmentid']
self.userid = dict['userid']
self.points = dict['points']
self.updated = dict['updated']
@property
def actor(self):
return self._actor
@actor.setter
def actor(self, value):
self._actor = value
@property
def repo(self):
return self._repo
@repo.setter
def repo(self, value):
self._repo = value
@property
def courseid(self):
return self._courseid
@courseid.setter
def courseid(self, value):
self._courseid = value
@property
def assignmentid(self):
return self._assignmentid
@assignmentid.setter
def assignmentid(self, value):
self._assignmentid = value
@property
def userid(self):
return self._userid
@userid.setter
def userid(self, value):
self._userid = value
@property
def points(self):
return self._points
@points.setter
def points(self, value):
self._points = value
@property
def updated(self):
return self._updated
@updated.setter
def updated(self, value):
self._updated = value