def delete_stream(stream_id): """Delete a stream object""" stream = StreamModel.get_by_id(stream_id) try: stream.key.delete() flash(u'Stream %s successfully deleted.' % stream_id, 'success') return redirect(url_for('list_streams')) except CapabilityDisabledError: flash(u'App Engine Datastore is currently in read-only mode.', 'info') return redirect(url_for('list_streams'))
def delete_stream(stream_id): """Delete a stream object""" stream = StreamModel.get_by_id(stream_id) try: stream.key.delete() flash(u'Stream %s successfully deleted.' % stream_id, 'success') return redirect(url_for('list_streams')) except CapabilityDisabledError: flash(u'App Engine Datastore is currently in read-only mode.', 'info') return redirect(url_for('list_streams'))
def edit_stream(stream_id): stream = StreamModel.get_by_id(stream_id) form = StreamForm(obj=stream) if form.validate_on_submit(): stream.stream_name = form.data.get('stream_name') stream.stream_type = form.data.get('stream_type') stream.stream_hostname = form.data.get('stream_hostname') stream.stream_port = form.data.get('stream_port') stream.stream_sid = form.data.get('stream_sid') stream.stream_mount = form.data.get('stream_mount') stream.put() flash(u'Stream %s successfully saved.' % stream_id, 'success') return redirect(url_for('list_streams')) return render_template('edit_stream.html', stream=stream, form=form)
def edit_stream(stream_id): stream = StreamModel.get_by_id(stream_id) form = StreamForm(obj=stream) if form.validate_on_submit(): stream.stream_name = form.data.get('stream_name') stream.stream_type = form.data.get('stream_type') stream.stream_hostname = form.data.get('stream_hostname') stream.stream_port = form.data.get('stream_port') stream.stream_sid = form.data.get('stream_sid') stream.stream_mount = form.data.get('stream_mount') stream.put() flash(u'Stream %s successfully saved.' % stream_id, 'success') return redirect(url_for('list_streams')) return render_template('edit_stream.html', stream=stream, form=form)
def show_stream(stream_id): """Show stream object""" start_date_str = request.values.get('s', None) end_date_str = request.values.get('e', None) if start_date_str is not None: start_date = datetime.fromtimestamp(int(start_date_str) / 1000) else: start_date = datetime.utcnow() start_date += timedelta(days=-1) if end_date_str is not None: end_date = datetime.fromtimestamp(int(end_date_str) / 1000) else: end_date = datetime.utcnow() stream = StreamModel.get_by_id(stream_id) stream_checks_query = StreamCheckModel.query().filter( StreamCheckModel.stream == stream.key, StreamCheckModel.timestamp >= start_date, StreamCheckModel.timestamp <= end_date).order( StreamCheckModel.timestamp) stream_checks = stream_checks_query.fetch(1000) server_uptime_sum = 0 stream_uptime_sum = 0 average_listeners_sum = 0 average_listeners_count = 0 average_listen_time_count = 0 average_listen_time_sum = 0 for stream_check in stream_checks: if stream_check.server_status > 0: server_uptime_sum += 1 if stream_check.stream_status > 0: stream_uptime_sum += 1 if stream_check.current_listeners is not None: average_listeners_sum += stream_check.current_listeners average_listeners_count += 1 if stream_check.average_listen_time is not None: average_listen_time_sum += stream_check.average_listen_time average_listen_time_count += 1 status = 'Up' if len(stream_checks) > 0: server_uptime = round(((server_uptime_sum / len(stream_checks)) * 100), 2) stream_uptime = round(((stream_uptime_sum / len(stream_checks)) * 100), 2) server_uptime_moving_average = get_server_uptime_moving_average( stream_checks, 144) stream_uptime_moving_average = get_stream_uptime_moving_average( stream_checks, 144) else: server_uptime = 0.0 stream_uptime = 0.0 server_uptime_moving_average = [] stream_uptime_moving_average = [] if average_listeners_count > 0: average_listeners = round( (average_listeners_sum / average_listeners_count), 2) else: average_listeners = 0 if average_listen_time_count > 0: average_listen_time = str( timedelta(seconds=int(average_listen_time_sum / average_listen_time_count))) else: average_listen_time = 0 return render_template( 'show_stream.html', stream=stream, stream_checks=stream_checks, status=status, server_uptime=server_uptime, stream_uptime=stream_uptime, average_listeners=average_listeners, server_uptime_moving_average=server_uptime_moving_average, stream_uptime_moving_average=stream_uptime_moving_average, average_listen_time=average_listen_time, start_date=start_date.strftime("%B %d, %Y %H:%M:%S"), end_date=end_date.strftime("%B %d, %Y %H:%M:%S"))
def show_stream(stream_id): """Show stream object""" start_date_str = request.values.get('s', None) end_date_str = request.values.get('e', None) if start_date_str is not None: start_date = datetime.fromtimestamp(int(start_date_str) / 1000) else: start_date = datetime.utcnow() start_date += timedelta(days=-1) if end_date_str is not None: end_date = datetime.fromtimestamp(int(end_date_str) / 1000) else: end_date = datetime.utcnow() stream = StreamModel.get_by_id(stream_id) stream_checks_query = StreamCheckModel.query().filter(StreamCheckModel.stream == stream.key, StreamCheckModel.timestamp >= start_date, StreamCheckModel.timestamp <= end_date).order(StreamCheckModel.timestamp) stream_checks = stream_checks_query.fetch(1000) server_uptime_sum = 0 stream_uptime_sum = 0 average_listeners_sum = 0 average_listeners_count = 0 average_listen_time_count = 0 average_listen_time_sum = 0 for stream_check in stream_checks: if stream_check.server_status > 0: server_uptime_sum += 1 if stream_check.stream_status > 0: stream_uptime_sum += 1 if stream_check.current_listeners is not None: average_listeners_sum += stream_check.current_listeners average_listeners_count += 1 if stream_check.average_listen_time is not None: average_listen_time_sum += stream_check.average_listen_time average_listen_time_count += 1 status = 'Up' if len(stream_checks) > 0: server_uptime = round(((server_uptime_sum / len(stream_checks)) * 100), 2) stream_uptime = round(((stream_uptime_sum / len(stream_checks)) * 100), 2) server_uptime_moving_average = get_server_uptime_moving_average(stream_checks, 144) stream_uptime_moving_average = get_stream_uptime_moving_average(stream_checks, 144) else: server_uptime = 0.0 stream_uptime = 0.0 server_uptime_moving_average = [] stream_uptime_moving_average = [] if average_listeners_count > 0: average_listeners = round((average_listeners_sum / average_listeners_count), 2) else: average_listeners = 0 if average_listen_time_count > 0: average_listen_time = str(timedelta(seconds=int(average_listen_time_sum / average_listen_time_count))) else: average_listen_time = 0 return render_template( 'show_stream.html', stream=stream, stream_checks=stream_checks, status=status, server_uptime=server_uptime, stream_uptime=stream_uptime, average_listeners=average_listeners, server_uptime_moving_average=server_uptime_moving_average, stream_uptime_moving_average=stream_uptime_moving_average, average_listen_time=average_listen_time, start_date=start_date.strftime("%B %d, %Y %H:%M:%S"), end_date=end_date.strftime("%B %d, %Y %H:%M:%S"))
def check_stream_service(stream_id): stream = StreamModel.get_by_id(stream_id) if stream.stream_type == 'sc2': check_sc2_stream(stream) elif stream.stream_type == 'ic2': check_ic2_stream(stream)
def check_stream_service(stream_id): stream = StreamModel.get_by_id(stream_id) if stream.stream_type == 'sc2': check_sc2_stream(stream) elif stream.stream_type == 'ic2': check_ic2_stream(stream)