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': '******'})