Issues (158)

doorpi/status/status_lib/keyboard.py (2 issues)

1
#!/usr/bin/env python
2
# -*- coding: utf-8 -*-
3
4
import logging
5
logger = logging.getLogger(__name__)
6
logger.debug("%s loaded", __name__)
7
8
from datetime import datetime
0 ignored issues
show
Unused datetime imported from datetime
Loading history...
9
10
def get(*args, **kwargs):
0 ignored issues
show
The argument args seems to be unused.
Loading history...
11
    try:
12
        if len(kwargs['name']) == 0: kwargs['name'] = ['']
13
        if len(kwargs['value']) == 0: kwargs['value'] = ['']
14
15
        keyboard = kwargs['DoorPiObject'].keyboard
16
17
        status = {}
18
19
        for name_requested in kwargs['name']:
20
            if name_requested in 'name':
21
                status['name'] = keyboard.name
22
23
            if name_requested in 'input':
24
                status['input'] = {}
25
                for value_requested in kwargs['value']:
26
                    for input_pin in keyboard.input_pins:
27
                        if value_requested in input_pin:
28
                            status['input'][input_pin] = keyboard.status_input(input_pin)
29
30
            if name_requested in 'output':
31
                status['output'] = keyboard.output_status
32
                for value_requested in kwargs['value']:
33
                    for output_pin in status['output'].keys():
34
                        if value_requested not in output_pin:
35
                            del status['output'][output_pin]
36
        return status
37
38
    except Exception as exp:
39
        logger.exception(exp)
40
        return {'Error': 'could not create keyboard object - '+str(exp)}
41
42
def is_active(doorpi_object):
43
    try:
44
        return True if doorpi_object.keyboard.name else False
45
    except:
46
        return False
47