def end(self): "End the game" player_keys = [db.Key.from_path('Game', self.keyname, 'Player', x) for x in self.players] db_keys = [db.key()] db_keys.extend(player_keys) memcache_keys = self.players memcache_keys.append(self.memcache_key) memcache.delete_multi(memcache_keys) db.delete(db_keys)
def put(self, key=None): if not key: raise sketch.exception.NotFound() entry = db.get(db.key(key)) if not entry: raise sketch.exception.NotFound() for field, value in self.request.get_all(): logging.info("%s => %s" % (field, value))
def get_value(self, tag): if tag == "getList": listTags = ['reservationsMaths','reservationsScience','reservationsTechnology','reservationsPhysics','reservationsLibrary','reservationsEngineering','reservationsHumanities','reservationsGeneral','reservationsStudy Area','reservationsSuite'] valuesAll = "" for tags in listTags: entry = db.GqlQuery("SELECT * FROM StoredData where tag = :1", tags).get() if entry: value = str(entry.value) else: value = "" valuesAll += value + "x" ## We tag the returned result with "VALUE" if self.request.get('fmt') == "html": value = escape(valuesAll) tag = escape(tag) WritePhoneOrWeb(self, lambda : json.dump(["VALUE", "getList", valuesAll], self.response.out)) sleep(1) elif "delete" in tag : tagToDelete = tag[6:] tagToDelete = "username" + tagToDelete entry = StoredData.all().order("-tag") for entries in entry: if entries.tag == str(tagToDelete): entry_key_string = str(db.key(tagToDelete)) delete = DeleteEntry() form = {'entry_key_string': entry_key_string,'tag': tagToDelete, 'fmt': 'html'} form = urlencode(form) delete.Response = webapp.Response() delete.request = webapp.Request({ 'REQUEST_METHOD': 'POST', 'PATH_INFO': '/deleteentry', 'wsgi.input': StringIO(form), 'CONTENT_LENGTH': len(form), 'SERVER_PORT': '80', 'wsgi.url_scheme': 'http', }) delete.post() else: entry = db.GqlQuery("SELECT * FROM StoredData where tag = :1", tag).get() if entry: value = entry.value else: value = "" ## We tag the returned result with "VALUE" if self.request.get('fmt') == "html": ##value = escape(value) tag = escape(tag) WritePhoneOrWeb(self, lambda : json.dump(["VALUE", tag, value], self.response.out))
def post(self, tl_key): """ Process the new Task List data, to store in the database """ tl_name = cgi.escape(self.request.get('tl_name')) description = cgi.escape(self.request.get('description')) colour = cgi.escape(self.request.get('colour')) try: project = db.key(self.request.get('project')) except AttributeError: # Set project to None, as project was set to 'none' by user project = None # Save the data to the database tl = db.get(tl_key) tl.owner = common.get_current_user() tl.name = tl_name tl.description = description tl.project = project tl.colour = colour tl.put() # Redirect the user to the Task view page after saving the task self.redirect('/tasks')
def post(self, cal_key): """ Process the new Calendar data, to store in the database """ name = cgi.escape(self.request.get('name')) share_type = self.request.get('share_type') colour = cgi.escape(self.request.get('colour')) try: project = db.key(self.request.get('project')) except AttributeError: # Set project to None, as project was set to 'none' by user project = None # Save the data to the database calendar = db.get(cal_key) calendar.owner = common.get_current_user() calendar.name = name calendar.share_type = share_type calendar.colour = colour calendar.visible = calendar.visible calendar.project = project calendar.put() # Redirect the user to the Calendar page after saving the calendar self.redirect('/calendar')