def oembed(format): try: url = request.args['url'] title = request.args['title'] except Exception as e: return jsonify(status='error', message=str(e)), 400 try: o = urlparse(url) query = qb.from_params(request.args) except Exception as e: return jsonify(status='error', message=str(e)), 500 if o.path.endswith('/alerts/count'): try: qvars = dict() qvars['status'] = 'open' query = Query(where='"status"=%(status)s', vars=qvars, sort='', group='') severity_count = db.get_counts_by_severity(query) except Exception as e: return jsonify(status='error', message=str(e)), 500 max = 'none' if severity_count.get('informational', 0) > 0: max = 'informational' if severity_count.get('warning', 0) > 0: max = 'warning' if severity_count.get('minor', 0) > 0: max = 'minor' if severity_count.get('major', 0) > 0: max = 'major' if severity_count.get('critical', 0) > 0: max = 'critical' html = render_template('oembed/counts.html', title=title, max=max, counts=severity_count) headers = {"Access-Control-Allow-Origin": "*"} return jsonify(version='1.0', type='rich', title=title, provider_name='Alerta', provider_url=request.url_root, html=html), 200, headers elif o.path.endswith('/alerts/top10/count'): # TODO: support top10 oembed widget pass else: return jsonify(status='error', message='unsupported oEmbed URL scheme'), 400
def oembed(format): if format != 'json': return jsonify(status="error", message="unsupported format: %s" % format), 400 if 'url' not in request.args or 'maxwidth' not in request.args \ or 'maxheight' not in request.args: return jsonify(status="error", message="missing default parameters: url, maxwidth, maxheight"), 400 try: url = request.args['url'] width = int(request.args['maxwidth']) height = int(request.args['maxheight']) title = request.args.get('title', 'Alerts') except Exception as e: return jsonify(status="error", message=str(e)), 400 try: o = urlparse(url) query = qb.from_params(request.args) except Exception as e: return jsonify(status="error", message=str(e)), 500 if o.path.endswith('/alerts/count'): try: severity_count = db.get_counts_by_severity(query) except Exception as e: return jsonify(status="error", message=str(e)), 500 max = 'normal' if severity_count.get('warning', 0) > 0: max = 'warning' if severity_count.get('minor', 0) > 0: max = 'minor' if severity_count.get('major', 0) > 0: max = 'major' if severity_count.get('critical', 0) > 0: max = 'critical' html = render_template( 'oembed/counts.html', title=title, width=width, height=height, max=max, counts=severity_count ) return jsonify(version="1.0", type="rich", width=width, height=height, title=title, provider_name="Alerta", provider_url=request.url_root, html=html) elif o.path.endswith('/alerts/top10/count'): # TODO: support top10 oembed widget pass else: return jsonify(status="error", message="unsupported oEmbed URL scheme"), 400
def oembed(format): try: url = request.args['url'] title = request.args['title'] except Exception as e: return jsonify(status='error', message=str(e)), 400 try: o = urlparse(url) query = qb.from_params(request.args) except Exception as e: return jsonify(status='error', message=str(e)), 500 if o.path.endswith('/alerts/count'): try: qvars = dict() qvars['status'] = 'open' query = Query(where='"status"=%(status)s', vars=qvars, sort='', group='') severity_count = db.get_counts_by_severity(query) except Exception as e: return jsonify(status='error', message=str(e)), 500 max = 'none' if severity_count.get('informational', 0) > 0: max = 'informational' if severity_count.get('warning', 0) > 0: max = 'warning' if severity_count.get('minor', 0) > 0: max = 'minor' if severity_count.get('major', 0) > 0: max = 'major' if severity_count.get('critical', 0) > 0: max = 'critical' html = render_template( 'oembed/counts.html', title=title, max=max, counts=severity_count ) headers = { "Access-Control-Allow-Origin": "*" } return jsonify(version='1.0', type='rich', title=title, provider_name='Alerta', provider_url=request.url_root, html=html), 200, headers elif o.path.endswith('/alerts/top10/count'): # TODO: support top10 oembed widget pass else: return jsonify(status='error', message='unsupported oEmbed URL scheme'), 400
def get_counts_by_severity(query: Query = None) -> Dict[str, Any]: return db.get_counts_by_severity(query)
def get_counts_by_severity(query=None): return db.get_counts_by_severity(query)
def get_counts_by_severity(query: Query=None) -> Dict[str, Any]: return db.get_counts_by_severity(query)