def cards(): """ Renders cards for all jammers with a ticket """ jamsite = JamSite.load() jamsite.apply_human() if not_imported(jamsite): return redirect(url_for('index')) return Response(render_jammers(jamsite.jammers_sorted_by_main_role(with_ticket=True), extra=load_extra()))
def import_all_jammers(sources=[dict(file='jammers.csv')], fieldnames=None): """ Handles the details """ jamsite = JamSite().load().reset() for source in sources: if "url" in source.keys(): url = source['url'] fieldnames = gf_fieldnames(source.get('fields', None)) import_from_url(jamsite, url, fieldnames) else: file = source.get("file", "Catastrophe") fieldnames = gf_fieldnames(source.get('fields', None)) import_from_file(jamsite, file, fieldnames) # Add a touch of human decisions. jamsite.apply_human() return jamsite
def all_cards(): """ Renders cards for all known about jammers associated with this site. ticekt holders and waiting list jammers """ jamsite = JamSite.load() jamsite.apply_human() if not_imported(jamsite): return redirect(url_for('index')) return Response(render_jammers(jamsite.jammers.values()))
def editable_cards(): """ Renders cards for all jammers with a ticket , and lets them be edited.""" jamsite = JamSite.load() jamsite.apply_human() if not_imported(jamsite): return redirect(url_for('index')) return Response(render_editable_jammers(jamsite.jammers_with_ticket, ui=edit_jammer_ui.format(url=url_for('update_jammer')), extra=load_extra()))
def reset(): try: jamsite = JamSite.load() jamsite.reset(all=True) jamsite.save() flash("Hard reset performed.") return redirect(url_for('index')) except: import traceback return "<pre>"+traceback.format_exc()+"</pre>"
def update_jammer(): """ updates a jammer """ d = request.args #hehehehehe. but it works. jammer = Jammer(**dict((k, str(d[k])) for k in list(d.keys()))) #jammer.accumulate() jamsite = JamSite.load() jamsite.administrated_jammers[jammer.username] = jammer #jamsite.jammers[jammer.username] = jamsite.jammers[jammer.username].update(jammer) jamsite.save() ## Flash (OK). not necessary actually. return redirect(url_for('editable_cards') + '#' + jammer.username)
def waiting_list(): jamsite = JamSite.load() jamsite.apply_human() if not_imported(jamsite): return redirect(url_for('index')) return render_waiting_list(jamsite.waiting_list())
def index2(): jamsite = JamSite.load() jamsite.apply_human() return render_template("index.html", jamsite=jamsite)