Passed
Push — develop ( e76d2d...088138 )
by Jace
01:20
created

coveragespace.client.delete()   A

Complexity

Conditions 3

Size

Total Lines 14
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 3.072

Importance

Changes 0
Metric Value
cc 3
eloc 10
nop 2
dl 0
loc 14
rs 9.9
c 0
b 0
f 0
ccs 8
cts 10
cp 0.8
crap 3.072
1
"""API client functions."""
2
3 1
import logging
4 1
import time
5
6 1
import requests
7
8 1
from .cache import Cache
9
10
11 1
log = logging.getLogger(__name__)
12 1
cache = Cache()
13
14
15 1
def get(url, data):
16 1
    log.info("Getting %s: %s", url, data)
17
18 1
    response = cache.get((url, data))
19 1
    if response is None:
20 1
        for i in range(3):
21 1
            response = requests.put(url, data=data)
22 1
            if response.status_code == 500:
23 1
                time.sleep(i + 1)
24 1
                continue
25
            else:
26 1
                break
27 1
        cache.set((url, data), response)
28
29 1
    log.info("Response: %s", response)
30
31 1
    return response
32
33
34 1
def delete(url, data):
35 1
    log.info("Deleting %s: %s", url, data)
36
37 1
    for i in range(3):
38 1
        response = requests.delete(url, data=data)
39 1
        if response.status_code == 500:
40
            time.sleep(i + 1)
41
            continue
42
        else:
43 1
            break
44
45 1
    log.info("Response: %s", response)
0 ignored issues
show
introduced by
The variable response does not seem to be defined in case the for loop on line 37 is not entered. Are you sure this can never be the case?
Loading history...
46
47
    return response
48