#!/usr/bin/python from flask import Flask, render_template, Response from re import match from users import users app = Flask('BrmBar') @app.route('/') def index(): return render_template('index.html') @app.route('/code/') def code(code): if code == 'R0000': return 'RESET' if match('^\C[0-9]{4}$', code): amount = int(code[1:]) return 'CREDIT %d' % amount if match('^U[0-9]{4}$', code): userid = int(code[1:]) return 'USER %s' % userid if match('^[0-9]+$', code): return 'ITEM %s' % code abort(400) @app.route('/admin/') def admin(): return render_template('admin.html') @app.route('/admin/barcode-generator.txt') def admin_barcodegeneratortxt(): ret = [] ret.append('Credit 20;C0020') ret.append('Credit 50;C0050') ret.append('Credit 100;C0100') ret.append('Credit 200;C0200') ret.append('Credit 500;C0500') ret.append('Credit 1000;C1000') ret.append('Credit 2000;C2000') ret.append('RESET;R0000') for (id,name) in sorted(users.iteritems(), key = lambda (k,v): (v,k)): ret.append('%s;U%d' % (name, id)) response = Response(response = '\n'.join(ret) + '\n', content_type = 'text/plain') return response @app.route('/log/') def log(): return render_template('log.html') @app.route('/stats/') def stats(): return render_template('stats.html') if __name__ == '__main__': app.run(host = '0.0.0.0', port = 45678)