mirror of https://git.48k.eu/ogcp
views: improve request error reporting
Add specific error messages for each http status code in the function ogserver_error(). Pass the request object to obtain the status code. Standarize the error handling code for every get(), delete() and post() as: r = server.get('/scopes') if not r: return ogserver_down('scopes') if r.status_code != requests.codes.ok: return ogserver_error(r, 'scopes')master
parent
17644e584e
commit
a58587dc80
|
@ -32,15 +32,21 @@ class OGServer:
|
|||
return r
|
||||
|
||||
def post(self, path, payload):
|
||||
r = requests.post(f'{self.URL}{path}',
|
||||
headers=self.HEADERS,
|
||||
json=payload)
|
||||
try:
|
||||
r = requests.post(f'{self.URL}{path}',
|
||||
headers=self.HEADERS,
|
||||
json=payload)
|
||||
except requests.exceptions.ConnectionError:
|
||||
return None
|
||||
return r
|
||||
|
||||
def delete(self, path, payload):
|
||||
r = requests.delete(f'{self.URL}{path}',
|
||||
headers=self.HEADERS,
|
||||
json=payload)
|
||||
try:
|
||||
r = requests.delete(f'{self.URL}{path}',
|
||||
headers=self.HEADERS,
|
||||
json=payload)
|
||||
except requests.exceptions.ConnectionError:
|
||||
return None
|
||||
return r
|
||||
|
||||
@property
|
||||
|
|
271
ogcp/views.py
271
ogcp/views.py
|
@ -6,7 +6,7 @@
|
|||
# (at your option) any later version.
|
||||
|
||||
from flask import (
|
||||
g, render_template, url_for, flash, redirect, request, jsonify, make_response
|
||||
g, render_template, url_for, flash, redirect, request, jsonify
|
||||
)
|
||||
from ogcp.forms.action_forms import (
|
||||
WOLForm, SetupForm, ClientDetailsForm, ImageDetailsForm, HardwareForm,
|
||||
|
@ -134,8 +134,25 @@ def ogserver_down(view):
|
|||
flash(_('Cannot talk to ogserver. Is ogserver down?'), category='error')
|
||||
return redirect(url_for(view))
|
||||
|
||||
def ogserver_error(view):
|
||||
flash(_('ogserver replied with a bad HTTP status code'), category='error')
|
||||
def ogserver_error(res, view):
|
||||
if res.status_code == 400:
|
||||
err_msg = _('Error 400: invalid payload')
|
||||
elif res.status_code == 404:
|
||||
err_msg = _('Error 404: object not found')
|
||||
elif res.status_code == 405:
|
||||
err_msg = _('Error 405: method not allowed')
|
||||
elif res.status_code == 409:
|
||||
err_msg = _('Error 409: object already exists')
|
||||
elif res.status_code == 423:
|
||||
err_msg = _('Error 423: object in use')
|
||||
elif res.status_code == 501:
|
||||
err_msg = _('Error 501: cannot connect to database')
|
||||
elif res.status_code == 507:
|
||||
err_msg = _('Error 500: disk full')
|
||||
else:
|
||||
err_msg = _(f'Received status code {res.status_code}')
|
||||
|
||||
flash(err_msg, category='error')
|
||||
return redirect(url_for(view))
|
||||
|
||||
def validate_elements(elements, min_len=1, max_len=float('inf')):
|
||||
|
@ -661,7 +678,7 @@ def action_poweroff():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
flash(_('Client powered off successfully'), category='info')
|
||||
return redirect(url_for('commands'))
|
||||
|
@ -756,7 +773,7 @@ def action_setup_select():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
client_name = r.json()['name']
|
||||
client_choices.append((ip, f"{client_name} ({ip})"))
|
||||
|
@ -792,7 +809,7 @@ def action_setup_show():
|
|||
except ServerError:
|
||||
return ogserver_down('commands')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
if not setup_data:
|
||||
flash(_('Partition information is not available. Boot client in ogLive mode to obtain it'), category='error')
|
||||
|
@ -1041,7 +1058,7 @@ def action_image_restore():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
images_list = r.json()['images']
|
||||
image = search_image(images_list, int(image_id))
|
||||
|
@ -1059,7 +1076,7 @@ def action_image_restore():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
clients_info = r.json()['clients']
|
||||
|
||||
|
@ -1074,13 +1091,12 @@ def action_image_restore():
|
|||
'type': form.method.data,
|
||||
'profile': str(image['software_id']),
|
||||
'id': str(image['id'])}
|
||||
server.post('/image/restore', payload)
|
||||
r = server.post('/image/restore', payload)
|
||||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code == requests.codes.ok:
|
||||
flash(_(f'Image restore command sent sucessfully'), category='info')
|
||||
else:
|
||||
flash(_(f'There was a problem sending the image restore command'), category='error')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error(r, 'commands')
|
||||
flash(_(f'Image restore command sent sucessfully'), category='info')
|
||||
return redirect(url_for('commands'))
|
||||
else:
|
||||
params = request.args.to_dict()
|
||||
|
@ -1097,7 +1113,7 @@ def action_image_restore():
|
|||
except ServerError:
|
||||
return ogserver_down('commands')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
if repo_id is None:
|
||||
flash(_(f'Computers have different repos assigned'), category='error')
|
||||
|
@ -1113,7 +1129,7 @@ def action_image_restore():
|
|||
except ServerError:
|
||||
return ogserver_down('commands')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
sort_images(images)
|
||||
|
||||
|
@ -1129,7 +1145,7 @@ def action_image_restore():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
has_cache = False
|
||||
|
||||
|
@ -1196,10 +1212,9 @@ def action_hardware():
|
|||
r = server.post('/hardware', payload={'clients': ips})
|
||||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code == requests.codes.ok:
|
||||
flash(_(f'Hardware inventory command has been sent'), category='info')
|
||||
else:
|
||||
flash(_(f'There was a problem sending the hardware inventory command'), category='error')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error(r, 'commands')
|
||||
flash(_(f'Hardware inventory command sent sucessfully'), category='info')
|
||||
return redirect(url_for('commands'))
|
||||
else:
|
||||
ips = parse_elements(request.args.to_dict())
|
||||
|
@ -1213,7 +1228,7 @@ def action_hardware():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
hardware = r.json()['hardware']
|
||||
return render_template('actions/hardware.html', form=form,
|
||||
|
@ -1234,7 +1249,7 @@ def action_software():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
software = r.json()['software']
|
||||
scopes, clients = get_scopes(set(ips))
|
||||
|
@ -1246,10 +1261,9 @@ def action_software():
|
|||
'partition': partition})
|
||||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code == requests.codes.ok:
|
||||
flash(_('Software profile request sent successfully'), category='info')
|
||||
else:
|
||||
flash(_('Error processing software profile request: ({})').format(r.status), category='error')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error(r, 'commands')
|
||||
flash(_('Software profile request sent successfully'), category='info')
|
||||
else:
|
||||
flash(_('Error processing software profile form'), category='error')
|
||||
return redirect(url_for('commands'))
|
||||
|
@ -1265,7 +1279,7 @@ def action_software():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
if not r.json()['partitions']:
|
||||
flash(_('Software inventory is not available. Boot client in ogLive mode to obtain it'), category='error')
|
||||
|
@ -1293,7 +1307,7 @@ def action_session():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
sessions = r.json()['sessions']
|
||||
if not sessions:
|
||||
|
@ -1320,11 +1334,14 @@ def action_session():
|
|||
'partition': str(partition)})
|
||||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code == requests.codes.ok:
|
||||
if excluded_ips:
|
||||
flash('The following clients didn\'t match the boot configuration: ' + str(excluded_ips))
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error(r, 'commands')
|
||||
if excluded_ips:
|
||||
flash('The following clients didn\'t match the boot configuration: ' + str(excluded_ips))
|
||||
return redirect(url_for('commands'))
|
||||
return make_response("400 Bad Request", 400)
|
||||
|
||||
flash(_(f'Boot OS command sent sucessfully'), category='info')
|
||||
return redirect(url_for('commands'))
|
||||
else:
|
||||
ips = parse_elements(request.args.to_dict())
|
||||
ips_list = list(ips)
|
||||
|
@ -1338,7 +1355,7 @@ def action_session():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
sessions = r.json()['sessions']
|
||||
if not sessions:
|
||||
|
@ -1398,10 +1415,9 @@ def action_client_cache():
|
|||
'images': image_list})
|
||||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code == requests.codes.ok:
|
||||
flash(_('Cache delete request sent successfully'), category='info')
|
||||
else:
|
||||
flash(_(f'Invalid cache delete form'), category='error')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error(r, 'commands')
|
||||
flash(_('Cache delete request sent successfully'), category='info')
|
||||
return redirect(url_for('commands'))
|
||||
else:
|
||||
ips = parse_elements(request.args.to_dict())
|
||||
|
@ -1416,7 +1432,7 @@ def action_client_cache():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
clients_info = r.json()['clients']
|
||||
|
||||
|
@ -1459,7 +1475,7 @@ def action_image_fetch():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
images_list = r.json()['images']
|
||||
image = search_image(images_list, int(image_id))
|
||||
|
@ -1471,7 +1487,7 @@ def action_image_fetch():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
clients_info = r.json()['clients']
|
||||
|
||||
|
@ -1486,10 +1502,9 @@ def action_image_fetch():
|
|||
r = server.post('/cache/fetch', payload=payload)
|
||||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code == requests.codes.ok:
|
||||
flash(_('Cache fetch request sent successfully'), category='info')
|
||||
else:
|
||||
flash(_(f'Invalid cache fetch form'), category='error')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error(r, 'commands')
|
||||
flash(_('Cache fetch request sent successfully'), category='info')
|
||||
return redirect(url_for('commands'))
|
||||
else:
|
||||
params = request.args.to_dict()
|
||||
|
@ -1509,7 +1524,7 @@ def action_image_fetch():
|
|||
except ServerError:
|
||||
return ogserver_down('commands')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
if repo_id is None:
|
||||
flash(_(f'Computers have different repos assigned'), category='error')
|
||||
|
@ -1525,7 +1540,7 @@ def action_image_fetch():
|
|||
except ServerError:
|
||||
return ogserver_down('commands')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
sort_images(images)
|
||||
|
||||
|
@ -1553,7 +1568,7 @@ def action_client_info():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
db_client = r.json()
|
||||
|
||||
|
@ -1576,7 +1591,7 @@ def action_client_info():
|
|||
except ServerError:
|
||||
return ogserver_down('commands')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
form.repo.choices = [(repo["id"], repo["name"]) for repo in repositories
|
||||
if db_client['repo_id'] == repo["id"]]
|
||||
form.repo.render_kw = {'readonly': True}
|
||||
|
@ -1589,7 +1604,7 @@ def action_client_info():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
rooms = parse_scopes_from_tree(r.json(), 'room')
|
||||
rooms = [(room['id'], room['name']) for room in rooms
|
||||
|
@ -1605,7 +1620,7 @@ def action_client_info():
|
|||
except ServerError:
|
||||
return ogserver_down('commands')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
disk_form = SetupForm()
|
||||
selected_disk = 1
|
||||
|
@ -1616,7 +1631,7 @@ def action_client_info():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
clients_info = r.json()['clients']
|
||||
|
||||
|
@ -1634,7 +1649,7 @@ def action_client_info():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
efi_data = r.json()['clients'][0]
|
||||
|
||||
|
@ -1702,7 +1717,7 @@ def action_client_update():
|
|||
if not r:
|
||||
return ogserver_down('scopes')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
|
||||
db_client = r.json()
|
||||
|
||||
|
@ -1721,7 +1736,7 @@ def action_client_update():
|
|||
if not r:
|
||||
return ogserver_down('scopes')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
|
||||
available_modes = [(current_mode, current_mode)]
|
||||
available_modes.extend([(mode, mode) for mode in r.json()['modes']
|
||||
|
@ -1733,7 +1748,7 @@ def action_client_update():
|
|||
if not r:
|
||||
return ogserver_down('scopes')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
|
||||
room_id = db_client['room']
|
||||
rooms = parse_scopes_from_tree(r.json(), 'room')
|
||||
|
@ -1747,7 +1762,7 @@ def action_client_update():
|
|||
except ServerError:
|
||||
return ogserver_down('scopes')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
form.repo.choices = [(repo["id"], repo["name"]) for repo in repositories
|
||||
if db_client['repo_id'] == repo["id"]]
|
||||
form.repo.choices.extend([(repo["id"], repo["name"]) for repo in repositories
|
||||
|
@ -1759,7 +1774,7 @@ def action_client_update():
|
|||
except ServerError:
|
||||
return ogserver_down('scopes')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
|
||||
disk_form = SetupForm()
|
||||
selected_disk = 1
|
||||
|
@ -1962,7 +1977,7 @@ def action_client_add():
|
|||
if not r:
|
||||
return ogserver_down('scopes')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
|
||||
available_modes = [(mode, mode) for mode in r.json()['modes'] if mode == 'pxe']
|
||||
available_modes.extend([(mode, mode) for mode in r.json()['modes'] if mode != 'pxe'])
|
||||
|
@ -1974,7 +1989,7 @@ def action_client_add():
|
|||
if not r:
|
||||
return ogserver_down('scopes')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
|
||||
room_id = params['scope-room']
|
||||
rooms = parse_scopes_from_tree(r.json(), 'room')
|
||||
|
@ -1988,7 +2003,7 @@ def action_client_add():
|
|||
except ServerError:
|
||||
return ogserver_down('scopes')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
form.repo.choices = [(repo["id"], repo["name"]) for repo in repositories]
|
||||
|
||||
if params.get('folder'):
|
||||
|
@ -2081,7 +2096,7 @@ def action_clients_import_get():
|
|||
if not r:
|
||||
return ogserver_down('scopes')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
|
||||
rooms = parse_scopes_from_tree(r.json(), 'room')
|
||||
selected_room_id = params['scope-room']
|
||||
|
@ -2094,7 +2109,7 @@ def action_clients_import_get():
|
|||
except ServerError:
|
||||
return ogserver_down('scopes')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
form.repo.choices = [(repo["id"], repo["name"]) for repo in repositories]
|
||||
form.client_conf.render_kw = {'placeholder': PLACEHOLDER_CLIENT_IMPORT_TEXT}
|
||||
|
||||
|
@ -2241,7 +2256,7 @@ def action_run_cmd():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
flash(_('Command sent successfully'), category='info')
|
||||
return redirect(url_for('commands'))
|
||||
|
@ -2280,7 +2295,7 @@ def action_run_script():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
flash(_('Script run sent successfully'), category='info')
|
||||
return redirect(url_for('commands'))
|
||||
|
@ -2298,7 +2313,7 @@ def action_run_script():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
partitions = r.json()['partitions'][1:]
|
||||
if not reference_patitioning:
|
||||
|
@ -2313,7 +2328,7 @@ def action_run_script():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
scripts = r.json()['scripts']
|
||||
|
||||
|
@ -2340,7 +2355,7 @@ def action_script_display_output():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
client_data = r.json()['clients']
|
||||
|
||||
|
@ -2397,10 +2412,9 @@ def action_mode():
|
|||
r = server.post('/mode', payload)
|
||||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code == requests.codes.ok:
|
||||
flash(_('Client set boot mode request sent successfully'), category='info')
|
||||
else:
|
||||
flash(_('Ogserver replied with status code not ok'), category='error')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error(r, 'commands')
|
||||
flash(_('Client set boot mode request sent successfully'), category='info')
|
||||
return redirect(url_for('commands'))
|
||||
|
||||
else:
|
||||
|
@ -2415,12 +2429,12 @@ def action_mode():
|
|||
except ServerError:
|
||||
return ogserver_down('commands')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
r = server.get('/mode')
|
||||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
mode_descriptions = {
|
||||
'pxe': 'ogLive (pxe)',
|
||||
|
@ -2483,12 +2497,9 @@ def action_oglive():
|
|||
r = server.post('/oglive/set', payload)
|
||||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code == requests.codes.ok:
|
||||
flash(_('Client set ogLive request sent successfully'),
|
||||
category='info')
|
||||
else:
|
||||
flash(_('Ogserver replied with status code not ok'),
|
||||
category='error')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error(r, 'commands')
|
||||
flash(_('Client set ogLive request sent successfully'), category='info')
|
||||
return redirect(url_for('commands'))
|
||||
|
||||
else:
|
||||
|
@ -2504,13 +2515,13 @@ def action_oglive():
|
|||
except ServerError:
|
||||
return ogserver_down('commands')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
r = server.get('/oglive/list')
|
||||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
oglive_list = r.json()['oglive']
|
||||
most_used_live = max(oglives_set, key=lambda l: len(oglives_set[l]))
|
||||
|
@ -2570,12 +2581,9 @@ def action_repo_set():
|
|||
r = server.post('/client/repo', payload)
|
||||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code == requests.codes.ok:
|
||||
flash(_('Repo set ogLive request sent successfully'),
|
||||
category='info')
|
||||
else:
|
||||
flash(_('Ogserver replied with status code not ok'),
|
||||
category='error')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error(r, 'commands')
|
||||
flash(_('Repo set ogLive request sent successfully'), category='info')
|
||||
return redirect(url_for('commands'))
|
||||
|
||||
else:
|
||||
|
@ -2591,7 +2599,7 @@ def action_repo_set():
|
|||
except ServerError:
|
||||
return ogserver_down('commands')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
form.repo.choices = [(repo["id"], repo["name"]) for repo in repositories]
|
||||
|
||||
|
@ -2612,7 +2620,7 @@ def action_image_create():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
image_name = remove_accents(form.name.data.strip())
|
||||
if ' ' in image_name:
|
||||
|
@ -2633,9 +2641,9 @@ def action_image_create():
|
|||
r = server.post('/image/create', payload)
|
||||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code == requests.codes.ok:
|
||||
return redirect(url_for('commands'))
|
||||
return make_response("400 Bad Request", 400)
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error(r, 'commands')
|
||||
return redirect(url_for('commands'))
|
||||
else:
|
||||
ips = parse_elements(request.args.to_dict())
|
||||
form.ip.data = " ".join(ips)
|
||||
|
@ -2647,7 +2655,7 @@ def action_image_create():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
invalid_part_types = get_invalid_image_partition_types()
|
||||
|
||||
|
@ -2670,7 +2678,7 @@ def action_image_create():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
client_repo_id = r.json()['repo_id']
|
||||
try:
|
||||
|
@ -2678,7 +2686,7 @@ def action_image_create():
|
|||
except ServerError:
|
||||
return ogserver_down('commands')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
form.repository.choices = [ (repo['id'], repo['name']) for repo in repositories
|
||||
if client_repo_id == repo['id']]
|
||||
form.repository.render_kw = {'readonly': True}
|
||||
|
@ -2704,7 +2712,7 @@ def action_image_update():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
images_list = r.json()['images']
|
||||
image = search_image(images_list, int(image_id))
|
||||
|
@ -2716,7 +2724,7 @@ def action_image_update():
|
|||
except ServerError:
|
||||
return ogserver_down('commands')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
payload = {'clients': [ip],
|
||||
'disk': disk,
|
||||
'partition': partition,
|
||||
|
@ -2731,11 +2739,9 @@ def action_image_update():
|
|||
r = server.post('/image/update', payload)
|
||||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code == requests.codes.ok:
|
||||
flash(_('Image update command sent sucessfully'), category='info')
|
||||
else:
|
||||
flash(_('There was a problem sending the image update command'),
|
||||
category='error')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error(r, 'commands')
|
||||
flash(_('Image update command sent sucessfully'), category='info')
|
||||
return redirect(url_for('commands'))
|
||||
|
||||
params = request.args.to_dict()
|
||||
|
@ -2750,7 +2756,7 @@ def action_image_update():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
repo_id = r.json()['repo_id']
|
||||
try:
|
||||
|
@ -2764,7 +2770,7 @@ def action_image_update():
|
|||
except ServerError:
|
||||
return ogserver_down('commands')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
sort_images(images)
|
||||
|
||||
|
@ -2775,7 +2781,7 @@ def action_image_update():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
invalid_part_types = get_invalid_image_partition_types()
|
||||
|
||||
|
@ -2933,7 +2939,7 @@ def action_center_update():
|
|||
if not r:
|
||||
return ogserver_down('scopes')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
|
||||
form.comment.data = r.json()['comment']
|
||||
form.name.data = r.json()['name']
|
||||
|
@ -2970,7 +2976,7 @@ def action_center_info():
|
|||
if not r:
|
||||
return ogserver_down('scopes')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
|
||||
form.comment.data = r.json()['comment']
|
||||
form.comment.render_kw = {'readonly': True}
|
||||
|
@ -3040,7 +3046,7 @@ def action_center_delete():
|
|||
if not r:
|
||||
return ogserver_down('scopes')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
|
||||
form.center.data = params['scope-center']
|
||||
form.server.data = params['scope-server']
|
||||
|
@ -3078,7 +3084,7 @@ def action_room_add():
|
|||
if not r:
|
||||
return ogserver_down('scopes')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
|
||||
selected_center_id = params['scope-center']
|
||||
centers = parse_scopes_from_tree(r.json(), 'center')
|
||||
|
@ -3132,7 +3138,7 @@ def action_room_update():
|
|||
if not r:
|
||||
return ogserver_down('scopes')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
form.name.data = r.json()['name']
|
||||
form.gateway.data = r.json()['gateway']
|
||||
form.netmask.data = r.json()['netmask']
|
||||
|
@ -3161,7 +3167,7 @@ def action_room_info():
|
|||
if not r:
|
||||
return ogserver_down('scopes')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
form.name.data = r.json()['name']
|
||||
form.name.render_kw = {'readonly': True}
|
||||
form.gateway.data = r.json()['gateway']
|
||||
|
@ -3201,7 +3207,7 @@ def action_room_delete():
|
|||
if not r:
|
||||
return ogserver_down('scopes')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('scopes')
|
||||
return ogserver_error(r, 'scopes')
|
||||
|
||||
form.room.data = params['scope-room']
|
||||
form.room.render_kw = {'readonly': True}
|
||||
|
@ -3380,7 +3386,7 @@ def action_repo_update():
|
|||
except ServerError:
|
||||
return ogserver_down('manage_repos')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('manage_repos')
|
||||
return ogserver_error(r, 'manage_repos')
|
||||
|
||||
form.server.data = server_ip_port
|
||||
form.repo_id.data = repo_id
|
||||
|
@ -3431,7 +3437,7 @@ def action_repo_delete():
|
|||
except ServerError:
|
||||
return ogserver_down('manage_repos')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('manage_repos')
|
||||
return ogserver_error(r, 'manage_repos')
|
||||
form.server.data = server_ip_port
|
||||
form.repo_id.data = repo_id
|
||||
form.name.data = repository['name']
|
||||
|
@ -3470,7 +3476,7 @@ def action_repo_info():
|
|||
except ServerError:
|
||||
return ogserver_down('manage_repos')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('manage_repos')
|
||||
return ogserver_error(r, 'manage_repos')
|
||||
form.name.data = repository['name']
|
||||
form.name.render_kw = {'readonly': True}
|
||||
for addr in repository['addr']:
|
||||
|
@ -3501,7 +3507,7 @@ def server_update_get():
|
|||
if not r:
|
||||
return ogserver_down('manage_servers')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('manage_servers')
|
||||
return ogserver_error(r, 'manage_servers')
|
||||
|
||||
form = ServerConfigurationForm()
|
||||
server_config = r.json()['servers']
|
||||
|
@ -3538,7 +3544,7 @@ def server_update_post():
|
|||
if not r:
|
||||
return ogserver_down('manage_servers')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('manage_servers')
|
||||
return ogserver_error(r, 'manage_servers')
|
||||
server_config = r.json()['servers']
|
||||
|
||||
# Remove
|
||||
|
@ -3551,7 +3557,7 @@ def server_update_post():
|
|||
if not rd:
|
||||
return ogserver_down('manage_servers')
|
||||
if rd.status_code != requests.codes.ok:
|
||||
return ogserver_error('manage_servers')
|
||||
return ogserver_error(r, 'manage_servers')
|
||||
|
||||
# Add
|
||||
for ip in addr_list:
|
||||
|
@ -3569,7 +3575,7 @@ def server_update_post():
|
|||
if not ra:
|
||||
return ogserver_down('manage_servers')
|
||||
if ra.status_code != requests.codes.ok:
|
||||
return ogserver_error('manage_servers')
|
||||
return ogserver_error(r, 'manage_servers')
|
||||
|
||||
flash(_('Server update request sent successfully'), category='info')
|
||||
return redirect(url_for('manage_servers'))
|
||||
|
@ -3660,12 +3666,9 @@ def action_live_default():
|
|||
r = server.post('/oglive/default', payload)
|
||||
if not r:
|
||||
return ogserver_down('manage_lives')
|
||||
if r.status_code == requests.codes.ok:
|
||||
flash(_('Set default ogLive request sent successfully'),
|
||||
category='info')
|
||||
else:
|
||||
flash(_('Ogserver replied with status code not ok'),
|
||||
category='error')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error(r, 'manage_lives')
|
||||
flash(_('Set default ogLive request sent successfully'), category='info')
|
||||
return redirect(url_for('manage_lives'))
|
||||
else:
|
||||
params = request.args.to_dict()
|
||||
|
@ -3678,7 +3681,7 @@ def action_live_default():
|
|||
if not r:
|
||||
return ogserver_down('commands')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('commands')
|
||||
return ogserver_error(r, 'commands')
|
||||
|
||||
oglive_list = r.json()['oglive']
|
||||
|
||||
|
@ -4025,7 +4028,7 @@ def action_image_list():
|
|||
except ServerError:
|
||||
return ogserver_down('images')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('images')
|
||||
return ogserver_error(r, 'images')
|
||||
return render_template('actions/list_images.html',
|
||||
servers=servers, responses=responses)
|
||||
|
||||
|
@ -4063,7 +4066,7 @@ def action_image_info():
|
|||
if not r:
|
||||
return ogserver_down('images')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('images')
|
||||
return ogserver_error(r, 'images')
|
||||
|
||||
images = r.json()['images']
|
||||
image = next(img for img in images if img['id'] == int(id))
|
||||
|
@ -4088,7 +4091,7 @@ def action_image_info():
|
|||
except ServerError:
|
||||
return ogserver_down('images')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('images')
|
||||
return ogserver_error(r, 'images')
|
||||
|
||||
r = server.get('/image/restrict', {'image': image['id']})
|
||||
if not r:
|
||||
|
@ -4119,7 +4122,7 @@ def action_image_delete():
|
|||
if not r:
|
||||
return ogserver_down('images')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('images')
|
||||
return ogserver_error(r, 'images')
|
||||
|
||||
flash(_('Image deletion request sent successfully'), category='info')
|
||||
return redirect(url_for('images'))
|
||||
|
@ -4137,7 +4140,7 @@ def action_image_delete():
|
|||
except ServerError:
|
||||
return ogserver_down('images')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('images')
|
||||
return ogserver_error(r, 'images')
|
||||
|
||||
form.ids.data = ' '.join(image_ids)
|
||||
form.server.data = params['image-server']
|
||||
|
@ -4162,7 +4165,7 @@ def action_image_config():
|
|||
if not r:
|
||||
return ogserver_down('images')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('images')
|
||||
return ogserver_error(r, 'images')
|
||||
|
||||
flash(_('Image updated successfully'), category='info')
|
||||
return redirect(url_for('images'))
|
||||
|
@ -4184,7 +4187,7 @@ def action_image_config():
|
|||
if not r:
|
||||
return ogserver_down('images')
|
||||
if r.status_code != requests.codes.ok:
|
||||
return ogserver_error('images')
|
||||
return ogserver_error(r, 'images')
|
||||
|
||||
form.server.data = params['image-server']
|
||||
form.scopes.choices = get_available_centers()
|
||||
|
@ -4195,7 +4198,7 @@ def action_image_config():
|
|||
except ServerError:
|
||||
return ogserver_down('images')
|
||||
except ServerErrorCode:
|
||||
return ogserver_error('images')
|
||||
return ogserver_error(r, 'images')
|
||||
|
||||
return render_template('actions/image_config.html', form=form,
|
||||
responses=responses)
|
||||
|
|
Loading…
Reference in New Issue