Completed
Push — develop ( d8b783...f586da )
by Jace
03:43
created

delete()   A

Complexity

Conditions 3

Size

Total Lines 14

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 10
CRAP Score 3

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 3
c 2
b 0
f 0
dl 0
loc 14
ccs 10
cts 10
cp 1
crap 3
rs 9.4285
1
"""API client functions."""
2
3 1
import time
4 1
import logging
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 1
            time.sleep(i + 1)
41 1
            continue
42
        else:
43 1
            break
44
45 1
    log.info("Response: %s", response)
46
47
    return response
48