113 |
113 |
{
|
114 |
114 |
'id': '',
|
115 |
115 |
'text': _('Service is unavailable'),
|
116 |
116 |
'disabled': True,
|
117 |
117 |
}
|
118 |
118 |
]
|
119 |
119 |
}
|
120 |
120 |
|
121 |
|
def request(self, url, json=None):
|
|
121 |
def request(self, url, method='GET', json=None, files=None):
|
122 |
122 |
headers = {'Accept': 'application/json'}
|
|
123 |
if method == 'POST':
|
|
124 |
headers['Content-Type'] = 'application/json'
|
123 |
125 |
try:
|
124 |
|
if json:
|
125 |
|
headers['Content-Type'] = 'application/json'
|
126 |
|
response = self.requests.post(url, headers=headers, json=json)
|
127 |
|
else:
|
128 |
|
response = self.requests.get(url, headers=headers)
|
|
126 |
response = self.requests.request(url=url, method=method, headers=headers, json=json, files=files)
|
129 |
127 |
response.raise_for_status()
|
130 |
128 |
except RequestException as e:
|
131 |
|
raise APIError('failed to %s %s: %s' % ('post' if json else 'get', url, e))
|
|
129 |
raise APIError('failed to %s %s: %s' % (method.lower(), url, e))
|
132 |
130 |
return response
|
133 |
131 |
|
134 |
132 |
@endpoint(
|
135 |
133 |
name='get-intervention',
|
136 |
134 |
methods=['get'],
|
137 |
135 |
description=_('Retrieve an intervention'),
|
138 |
136 |
perm='can_access',
|
139 |
137 |
parameters={
|
... | ... | |
332 |
330 |
('registered', _('Registered')),
|
333 |
331 |
('sent', _('Sent')),
|
334 |
332 |
),
|
335 |
333 |
)
|
336 |
334 |
|
337 |
335 |
def push(self):
|
338 |
336 |
url = self.resource.webservice_base_url + 'v1/intervention'
|
339 |
337 |
try:
|
340 |
|
response = self.resource.request(url, json=self.payload)
|
|
338 |
response = self.resource.request(url, method='POST', json=self.payload)
|
341 |
339 |
except APIError as e:
|
342 |
340 |
self.result = str(e)
|
343 |
341 |
self.save()
|
344 |
342 |
return False
|
345 |
343 |
try:
|
346 |
344 |
self.result = response.json()
|
347 |
345 |
except ValueError:
|
348 |
346 |
err_desc = 'invalid json, got: %s' % response.text
|
349 |
|
-
|