-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJob.py
43 lines (35 loc) · 1.15 KB
/
Job.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
__author__ = 'max'
class Job():
def __init__(self,runtime,numberOfMachines):
self.assignedMachines = []
for i in range(numberOfMachines):
self.assignedMachines.append(0)
self.runTime = runtime
self.numberOfMachiens = numberOfMachines
def __str__(self):
return str(self.runTime)
def __get__(self):
return self.runTime
def __iter__(self):
return self.runTime
def __float__(self):
return float(self.runTime)
def __add__(self, other):
return self.runTime + other
def __radd__(self, other):
return self.runTime + other
def __cmp__(self, other):
result = 0
if self.runTime < other:
result = -1
if self.runTime > other:
result = 1
return result
def __getattribute__(self, item):
return self.runTime.index(item)
def addVoteForIndex(self, votedIndex):
self.assignedMachines[votedIndex] += 1
def highestVotedIndex(self):
return self.assignedMachines.index((max(self.assignedMachines)))
def getCopy(self):
return Job(self.runTime,self.numberOfMachiens)