Completed
Pull Request — master (#528)
by
unknown
02:52
created

ClicrudWrite.run()   B

Complexity

Conditions 5

Size

Total Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 5
c 1
b 0
f 0
dl 0
loc 20
rs 8.5454
1
from st2actions.runners.pythonrunner import Action
2
from clicrud.device.generic import generic
3
4
5
class ClicrudWrite(Action):
6
7
    def run(self, **kwargs):
8
        _args = kwargs
9
        commands = kwargs.pop('commands')
10
11
        # If port is not specified, ST2 passes it is as None
12
        # This breaks clicrud, so better to remove it here
13
        if kwargs.get('port'):
14
            if kwargs['port'] is None:
15
                kwargs.pop('port')
16
17
        # Same issue with enable
18
        if kwargs.get('enable'):
19
            if kwargs['enable'] is None:
20
                kwargs.pop('enable')
21
22
        transport = generic(**kwargs)
23
24
        response = transport.configure(commands)
25
        transport.close()
26
        return response
27