Completed
Pull Request — develop (#33)
by Jace
02:31
created

get()   A

Complexity

Conditions 4

Size

Total Lines 17

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 13
CRAP Score 4

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 4
c 1
b 0
f 0
dl 0
loc 17
ccs 13
cts 13
cp 1
crap 4
rs 9.2
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 _ in range(3):
21 1
            response = requests.put(url, data=data)
22 1
            if response.status_code == 500:
23 1
                time.sleep(3)
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
    response = requests.delete(url, data=data)
38
39 1
    log.info("Response: %s", response)
40
41
    return response
42