Passed
Push — master ( ed280a...13e7ac )
by Dave
01:13
created

domain.minerstatistics   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 37
dl 0
loc 44
rs 10
c 0
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A MinerStatistics.stats_summary() 0 2 1
A MinerStatistics.__init__() 0 24 1
A MinerStatistics.tempboardmax() 0 2 1
A MinerStatistics.format_elapsed() 0 7 1
1
2
class MinerStatistics(object):
3
    '''Statistics for a miner
4
    temperature and hash
5
    '''
6
    def __init__(self, miner, when=None, minercount=0, currenthash=0,
7
                 controllertemp=0,
8
                 tempboard1=0, tempboard2=0, tempboard3=0,
9
                 elapsed=0,
10
                 fan1='', fan2='', fan3='',
11
                 boardstatus1='', boardstatus2='', boardstatus3='',
12
                 frequency='', rawstats=None):
13
        self.miner = miner
14
        self.when = when
15
        self.minercount = minercount
16
        self.currenthash = currenthash
17
        self.controllertemp = controllertemp
18
        self.tempboard1 = tempboard1
19
        self.tempboard2 = tempboard2
20
        self.tempboard3 = tempboard3
21
        self.elapsed = elapsed
22
        self.fan1 = fan1
23
        self.fan2 = fan2
24
        self.fan3 = fan3
25
        self.boardstatus1 = boardstatus1
26
        self.boardstatus2 = boardstatus2
27
        self.boardstatus3 = boardstatus3
28
        self.frequency = frequency
29
        self.rawstats = rawstats
30
31
    def tempboardmax(self):
32
        return max(self.tempboard1, self.tempboard2, self.tempboard3)
33
34
    def format_elapsed(self):
35
        seconds = self.elapsed
36
        numdays = seconds // 86400
37
        numhours = (seconds % 86400) // 3600
38
        numminutes = ((seconds % 86400) % 3600) // 60
39
        numseconds = ((seconds % 86400) % 3600) % 60
40
        return '{0}:{1}:{2}:{3}'.format(numdays, numhours, numminutes, numseconds)
41
42
    def stats_summary(self):
43
        return '{0} {1}/{2} {3}'.format(self.currenthash, self.controllertemp, self.tempboardmax(), self.format_elapsed())
44
45