EnvInspector   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 29
rs 10
wmc 7

5 Methods

Rating   Name   Duplication   Size   Complexity  
A basename() 0 3 1
A name() 0 5 2
A version() 0 6 2
A __init__() 0 5 1
A get_package_data() 0 4 1
1
import os
2
import time
3
4
5
from ..utils.yaml import yaml_load
6
7
8
class EnvInspector(object):
9
    def __init__(self, filename, fileobj):
10
        self._name = None
11
        self._version = None
12
        self.filename = filename
13
        self.content = yaml_load(fileobj)
14
15
    @property
16
    def basename(self):
17
        return os.path.basename(self.filename)
18
19
    @property
20
    def name(self):
21
        if self._name is None:
22
            self._name = self.content['name']
23
        return self._name
24
25
    def get_package_data(self):
26
        return {
27
            'name': self.name,
28
            'summary': "Environment file"
29
        }
30
31
    @property
32
    def version(self):
33
        if self._version is None:
34
            self._version = time.strftime('%Y.%m.%d.%H%M%S')
35
36
        return self._version
37
38
39
def inspect_env_package(filename, fileobj, *args, **kwargs):
40
    environment = EnvInspector(filename, fileobj)
41
42
    package_data = environment.get_package_data()
43
    release_data = {
44
        'version': environment.version,
45
        'description': ''
46
    }
47
    file_data = {
48
        'basename': environment.basename,
49
        'attrs': {}
50
    }
51
52
    return package_data, release_data, file_data
53