FileMedium   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 16
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __init__() 0 4 1
A export() 0 9 2
1
from niprov.formatxml import XmlFormat
2
from niprov.formatjson import JsonFormat
3
from niprov.pictures import PictureCache
4
5
6
class FileMedium(object):
7
8
    def __init__(self, dependencies):
9
        self.filesys = dependencies.getFilesystem()
10
        self.clock = dependencies.getClock()
11
        self.listener = dependencies.getListener()
12
13
    def export(self, formattedProvenance, form):
14
        if isinstance(form, PictureCache):
15
            fname = formattedProvenance
16
        else:
17
            fname = 'provenance_{0}.{1}'.format(self.clock.getNowString(),
18
                                                form.fileExtension)
19
            self.filesys.write(fname, formattedProvenance)
20
        self.listener.exportedToFile(fname)
21
        return fname
22