def stream_add(): form = new_stream(request.form) if request.method == 'POST' and form.validate(): try: if form.type.data != 0: Stream.add_stream(form.code.data, form.name.data, form.mount.data, form.type.data, form.quality.data) rfk.database.session.commit() return redirect(url_for('.stream_list')) else: form.type.errors.append('Invalid type') except InvalidCodeException as e: form.code.errors.append('Invalid Chars') except CodeTakenException as e: form.code.errors.append('Identifier Taken') except MountpointTakenException as e: form.mount.errors.append('Mountpoint already taken') return render_template('admin/stream/streamform.html', form=form)
def icecast_add_listener(): #logger.info('add_listener {}'.format(request.form)) if request.form['action'] != 'listener_add': return make_response('you just went full retard', 405) relay = Relay.get_relay(address=request.form['server'], port=request.form['port']) stream = Stream.get_stream(mount=request.form['mount']) listener = Listener.create(request.form['ip'], request.form['client'], request.form['agent'], relay.get_stream_relay(stream)) session.add(listener) session.flush() relay.update_statistic() stream.update_statistic() relay.get_stream_relay(stream).update_statistic() session.commit() return make_response('ok', 200, {'icecast-auth-user': '******'})
def icecast_remove_listener(): #logger.info('remove_listener {}'.format(request.form)) if request.form['action'] != 'listener_remove': return make_response('you just went full retard', 405) relay = Relay.get_relay(address=request.form['server'], port=request.form['port']) stream = Stream.get_stream(mount=request.form['mount']) listener = Listener.get_listener(relay.get_stream_relay(stream), int(request.form['client'])) listener.set_disconnected() session.flush() relay.update_statistic() stream.update_statistic() relay.get_stream_relay(stream).update_statistic() session.commit() return make_response('ok', 200, {'icecast-auth-user': '******'})
def icecast_add_mount(): logger.info('add_mount {}'.format(request.form)) if request.form['action'] != 'mount_add': return make_response('you just went full retard', 405) relay = Relay.get_relay(address=request.form['server'], port=request.form['port']) stream = Stream.get_stream(mount=request.form['mount']) if relay and stream: stream.add_relay(relay) relay.get_stream_relay(stream).status = StreamRelay.STATUS.ONLINE relay.status = Relay.STATUS.ONLINE session.commit() return make_response('ok', 200, {'icecast-auth-user': '******'}) else: return make_response('something strange happened', 500)
def icecast_remove_mount(): logger.info('remove_mount {}'.format(request.form)) if request.form['action'] != 'mount_remove': return make_response('you just went full retard', 405) relay = Relay.get_relay(address=request.form['server'], port=request.form['port']) stream = Stream.get_stream(mount=request.form['mount']) if relay and stream: stream.add_relay(relay) stream_relay = relay.get_stream_relay(stream) stream_relay.set_offline() session.flush() relay.update_statistic() stream.update_statistic() relay.get_stream_relay(stream).update_statistic() session.commit() return make_response('ok', 200, {'icecast-auth-user': '******'}) else: return make_response('something strange happened', 500)
def icecast_add_mount(): logger.info('add_mount {}'.format(request.form)) if request.form['action'] != 'mount_add': return make_response('you just went full retard', 405) relay = Relay.get_relay(address=request.form['server'], port=request.form['port']) stream = Stream.get_stream(mount=request.form['mount']) if relay and stream: stream.add_relay(relay) session.flush() '''Cycle every listener''' relay.get_stream_relay(stream).set_offline() session.flush() relay.get_stream_relay(stream).status = StreamRelay.STATUS.ONLINE relay.status = Relay.STATUS.ONLINE session.commit() return make_response('ok', 200, {'icecast-auth-user': '******'}) else: return make_response('something strange happened', 500)