예제 #1
0
 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)
예제 #2
0
파일: rest.py 프로젝트: nikcub/Sketch
 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))
예제 #3
0
  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))
예제 #4
0
 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')
예제 #5
0
 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')
예제 #6
0
    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')