coveragespace.client.delete()   A
last analyzed

Complexity

Conditions 3

Size

Total Lines 15
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 3.072

Importance

Changes 0
Metric Value
cc 3
eloc 11
nop 2
dl 0
loc 15
ccs 8
cts 10
cp 0.8
crap 3.072
rs 9.85
c 0
b 0
f 0
1
"""API client functions."""
2
3 1
4 1
import time
5
6 1
import log
7
import requests
8 1
9
from .cache import Cache
10
11 1
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 delay in [1, 3, 5]:
21 1
            response = requests.put(url, data=data)
22 1
            if response.status_code == 500:
23 1
                time.sleep(delay)
24 1
                continue
25
            break
26 1
        cache.set((url, data), response)
27 1
28
    log.info("Response: %s", response)
29 1
30
    return response
31 1
32
33
def delete(url, data):
34 1
    log.info("Deleting %s: %s", url, data)
35 1
36
    for delay in [1, 3, 5]:
37 1
        response = requests.delete(url, data=data)
38 1
        if response.status_code == 500:
39 1
            time.sleep(delay)
40
            continue
41
        break
42
43 1
    log.info("Response: %s", response)
0 ignored issues
show
introduced by Jace Browning
The variable response does not seem to be defined in case the for loop on line 36 is not entered. Are you sure this can never be the case?
Loading history...
44
45 1
    cache.clear()
46
47
    return response
48