Completed
Push — master ( 6d0d49...6d6a7d )
by Jasper
02:25 queued 57s
created

MediumFactory.create()   B

Complexity

Conditions 5

Size

Total Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 5
c 1
b 0
f 1
dl 0
loc 10
rs 8.5454
1
from niprov.dependencies import Dependencies
2
from niprov.mediumstdout import StandardOutputMedium
3
from niprov.mediumdirect import DirectMedium
4
from niprov.mediumfile import FileMedium
5
from niprov.mediumviewer import ViewerMedium
6
7
8
class MediumFactory(object):
9
10
    def __init__(self, dependencies=Dependencies()):
11
        self.dependencies = dependencies
12
13
    def create(self, mediumName):
14
        if mediumName == 'stdout':
15
            return StandardOutputMedium()
16
        if mediumName == 'direct':
17
            return DirectMedium()
18
        if mediumName == 'file':
19
            return FileMedium(self.dependencies)
20
        if mediumName == 'viewer':
21
            return ViewerMedium(self.dependencies)
22
        raise ValueError('Unknown medium: '+str(mediumName))
23
24