rewrite djangoapi
This commit is contained in:
@@ -2,79 +2,83 @@ import requests
|
||||
from urllib.parse import urljoin
|
||||
from datetime import date, datetime
|
||||
import json
|
||||
class django_crud_api():
|
||||
def __init__(self,**kwargs):
|
||||
self.endpoint=kwargs.get('endpoint')
|
||||
|
||||
|
||||
class django_crud_api:
|
||||
def __init__(self, **kwargs):
|
||||
self.endpoint = kwargs.get("endpoint")
|
||||
|
||||
def find(self, filter):
|
||||
try:
|
||||
r = requests.request('GET', self.endpoint, params={'format':'json',**filter})
|
||||
r = requests.request(
|
||||
"GET", self.endpoint, params={"format": "json", **filter}
|
||||
)
|
||||
r.raise_for_status()
|
||||
r=r.json()
|
||||
r = r.json()
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(e)
|
||||
return None
|
||||
return r
|
||||
def find_one(self,filter):
|
||||
r=self.find(filter)
|
||||
|
||||
def find_one(self, filter):
|
||||
r = self.find(filter)
|
||||
if r is None:
|
||||
return None
|
||||
if len(r)>1:
|
||||
raise LookupError("Mehr als ein Objekt von der API zurückgegeben filter: %s" % str(filter))
|
||||
if len(r)==0:
|
||||
if len(r) > 1:
|
||||
raise LookupError(
|
||||
"Mehr als ein Objekt von der API zurückgegeben filter: %s" % str(filter)
|
||||
)
|
||||
if len(r) == 0:
|
||||
return None
|
||||
return r[0]
|
||||
|
||||
def get(self,pk):
|
||||
def get(self, pk):
|
||||
try:
|
||||
r = requests.request('GET', urljoin(self.endpoint,pk), params={'format':'json'})
|
||||
r=r.json()
|
||||
r = requests.request(
|
||||
"GET", urljoin(self.endpoint, pk), params={"format": "json"}
|
||||
)
|
||||
r = r.json()
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(e)
|
||||
return None
|
||||
return r
|
||||
|
||||
def update(self,pk,d):
|
||||
try:
|
||||
files=d.pop("files",None)
|
||||
headers = None #{'Content-type': 'multipart/form-data'}
|
||||
|
||||
def update(self, pk, d):
|
||||
try:
|
||||
files = d.pop("files", None)
|
||||
headers = None # {'Content-type': 'multipart/form-data'}
|
||||
print("Updated %s " % pk)
|
||||
r = requests.request('PUT', urljoin(self.endpoint,pk)+"/", headers=headers,data=d,files=files)
|
||||
r.raise_for_status()
|
||||
r = requests.request(
|
||||
"PUT",
|
||||
urljoin(self.endpoint, pk) + "/",
|
||||
headers=headers,
|
||||
data=d,
|
||||
files=files,
|
||||
)
|
||||
r.raise_for_status()
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(e)
|
||||
if r:
|
||||
print(r.text)
|
||||
print(d.keys())
|
||||
print("Tryed to reach %s with PUT Action" % urljoin(self.endpoint,pk))
|
||||
print("Tryed to reach %s with PUT Action" % urljoin(self.endpoint, pk))
|
||||
return None
|
||||
|
||||
|
||||
if r.status_code==200:
|
||||
r=r.json()
|
||||
|
||||
|
||||
if r.status_code == 200:
|
||||
r = r.json()
|
||||
|
||||
return r
|
||||
|
||||
def create(self, d):
|
||||
try:
|
||||
files=d.pop("files",None)
|
||||
headers = None #{'Content-type': 'application/json'}
|
||||
#print("Create %s" % d["slug"])
|
||||
# print("Create with data %s" % str(d))
|
||||
#for k in d:
|
||||
# if type(d[k]) is date:
|
||||
# d[k]=str(d[k])
|
||||
r = requests.post(self.endpoint,headers=headers,data=d,files=files)
|
||||
files = d.pop("files", None)
|
||||
headers = None # {'Content-type': 'application/json'}
|
||||
r = requests.post(self.endpoint, headers=headers, data=d, files=files)
|
||||
r.raise_for_status()
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(e)
|
||||
if r and r.status_code==400:
|
||||
if r and r.status_code == 400:
|
||||
print(r.text)
|
||||
print("Tryed to reach %s with POST Action" % self.endpoint)
|
||||
|
||||
|
||||
return r.status_code, None
|
||||
if r.status_code==201:
|
||||
if r.status_code == 201:
|
||||
return r.status_code, r.json()
|
||||
#print(r)
|
||||
# print(r)
|
||||
return r.status_code, r
|
||||
|
||||
Reference in New Issue
Block a user