def printList(player): print "Content-type: text/html" print matches = Level.select(orderBy = "-modified") work_list = "" for level in matches: title = level.name date = level.modified edit_link = "" if level.creator != None: if level.creator == player: creator = "You" edit_link = "<a href=\"designer.html?level=%s\">Edit</a>" % title else: creator = level.creator.name else: creator = "Nobody" scores = Score.selectBy(level = level) best = "" if (scores.count() > 0): best = "%s by %s" % (formatTime(scores[0].completionTime), scores[0].player.name) else: best = "Nobody Yet!" scores = Score.selectBy(player = player, level = level) your_time = "" if (scores.count() > 0): your_time = formatTime(scores[0].completionTime) work_list += render_template_file( "list-level-row.html", {"moddate": date, "title": title, "creator": creator, "editlink": edit_link, "best": best, "yourtime": your_time} ) print render_template_file( "list-levels.html", {"work_list": work_list, "player": player.name, "avatarURL": player.avatarURL})
import cgi import cgitb import datetime cgitb.enable() q = cgi.FieldStorage() levelName = q.getfirst("levelName", "") completionTime = q.getfirst("completionTime", "") player = verify_id() print "Content-type: text/html" print if (levelName != "" and completionTime != ""): levels = Level.selectBy(name = levelName) if levels.count() > 0: level = levels[0] score = Score(level = level, player = player, completionTime = int(completionTime), achievedOn = datetime.datetime.now()) print "Saved score %d for %s on %s." % (int(completionTime), player.name, level.name) else: print "No such level as %s" % levelName else: print "Required info not provided."
import cgi import cgitb import datetime import simplejson cgitb.enable() q = cgi.FieldStorage() levelData = q.getfirst("levelData", "") levelName = q.getfirst("levelName", "") player = verify_id() if levelData != "" and levelName != "": # if level doesn't exist create it: levels = Level.selectBy(name = levelName) if levels.count() > 0: level = levels[0] level.modified = datetime.datetime.now() else: level = Level(name = levelName, creator = player, modified = datetime.datetime.now(), startX = 0, startY = 0) # verify that I am owner of level i.e. allowed to edit: if player == level.creator: # delete all the old ones first!! old = LevelObject.selectBy(level = level) for obj in old:
def level_exists(name): matches = Level.selectBy(name = name) return (matches.count() > 0)
def printList(player): print "Content-type: text/html" print # Show levels that are published and/or created by the current player. matches = Level.select(OR(Level.q.published == True, Level.q.creator == player), orderBy = "-modified") published_list = "" your_list = "" for level in matches: title = level.name date = level.modified edit_link = "" if level.creator != None: if level.creator == player: creator = getStr(player, "_you") else: creator = level.creator.name else: creator = getStr(player, "_nobody") scores = Score.selectBy(level = level) best = "" if (scores.count() > 0): best = getStr(player, "_other_player_score") % { "time": formatTime(scores[0].completionTime), "player": scores[0].player.name, "trinkets": scores[0].trinkets } else: best = getStr(player, "_nobody_yet") scores = Score.selectBy(player = player, level = level) your_time = "" if (scores.count() > 0): your_time = getStr(player, "_your_score") % { "time": formatTime(scores[0].completionTime), "trinkets": scores[0].trinkets } if level.creator == player: if level.published: published = getStr(player, "_published_yes") else: published = getStr(player, "_published_no") your_list += render_template_file( "list-my-level-row.html", {"moddate": date, "title": title, "published": published, "best": best, "yourtime": your_time} ) else: published_list += render_template_file( "list-level-row.html", {"moddate": date, "title": title, "creator": creator, "best": best, "yourtime": your_time} ) sub_words = {"published_list": published_list, "your_list": your_list, "player": player.name, "avatarURL": player.avatarURL, "lang_radio_buttons": make_lang_settings(player.langPref)} print render_template_file( "list-levels.html", sub_words)