def main(roundNr):
    changeToUserDirectory()
    if 'turnierName' not in session or not os.path.exists(session['turnierName']):
        return flask.redirect(flask.url_for('new'))

    changeToTurnierDirectory(session['turnierName'])

    turnier = Turnier(roundNr)
    spieler = turnier.getSpieler()
    ranking = spieler.getRanking()
    rankedSpieler = [sub[0] for sub in ranking]

    currentRound = turnier.getLastRound()

    begegnungen = '!'.join(currentRound.getUnfinishedBegegnungenFlat())

    currentRoundNumber = currentRound.getNumberOfRound()
    if 'expertMode' in session and session['expertMode'] or currentRoundNumber <= 0:
        textToEdit = Turnier.getDefiningTextFor(currentRoundNumber)
    else:
        textToEdit = False

    return render_template('ranking.html', ranking=ranking, runde=currentRoundNumber,
                           currentRound=currentRound, isLastRound=turnier.allRoundsWhereReadIn(),
                           canExport=turnier.xmlResultCanBeCreated() and currentRound.isComplete(),
                           thereAreFreilose=spieler.freiloseNeeded(),
                           spielerList=rankedSpieler,
                           begegnungen=begegnungen, text=textToEdit)
def exportClickTTResult():
    changeToTurnierDirectory(session['turnierName'])
    turnier = Turnier()
    if turnier.xmlResultCanBeCreated():
        fileName = os.path.join(getUserDirector(), session['turnierName'], turnier.writeClickTTResult())
        return flask.send_file(fileName, mimetype='text/xml', as_attachment=True)
    else:
        flash("Die Spieler wurden nicht aus ClickTT xml Datei importiert")
        flash("  Kann deshalb ClickTT Ergebnis Datei nicht erzeugen")

    return flask.redirect(flask.url_for('main'))