Пример #1
0
 def post(self):
     
     args = simplejson.loads(self.request.body)
     func, args = args[0], args[1:]
     
     if func[0] == '_': self.error(403) # access denied
     else:
 
         func = getattr(self, func, None)
         if not func: self.error(404) # file not found
         else:
             
             self.response.out.write(simplejson.dumps(func(*args)))
Пример #2
0
 def post(self):
     user = users.get_current_user()
     returnedData=Constants.ERROR_NO_USER
     if user:
         dataRecived=self.request.body;
         logging.info(dataRecived)
         bidRecived=simplejson.loads(dataRecived)     
         #if 0:
         if not bidRecived['userPropietary']==str(user.email()):
             returnedData=Constants.ERROR_BAD_USER
         else :
             bidRecived['timeStamp']=long(time.time()+bidRecived['timeStamp'])
             bidRecived['id']=':Bid'
             returned=Bid(JSONUtils.JSONUtils.createOrUpdateDbElementsFromDICT(bidRecived,True))
             #TODO soporte a archievements
             if returned :
                 returnedData=Constants.RESULT_OK
             else :
                 returnedData=Constants.ERROR_BAD_DATA_POST  
     self.response.headers['Content-Type'] = 'text/plain'
     self.response.out.write(returnedData)
         
         
Пример #3
0
 def get(self):
     
     action = self.request.get('action')
     
     if not action: 
         self.response.out.write(self.create())
         
     elif action[0] == '_': 
         self.error(403)
         
     else:
         
         func = getattr(self, action, None)
         if not func: self.error(404)
         else:
             
             args = ()
             while True:
                 val = self.request.get('arg%d' % len(args))
                 if val: args += (simplejson.loads(val),)
                 else: break
                 
             self.response.out.write(simplejson.dumps(func(*args)))
Пример #4
0
    def build(cls):
        #Need admin acc to import
        url = "https://spreadsheets.google.com/feeds/list/0ApN6pOTp7qkZdDVDMW1YSEZUelV2TFUwcFpzblM4cnc/od6/public/values?alt=json"
        result = urlfetch.fetch(url)
        if result.status_code == 200:
            feed_obj = simplejson.loads(result.content)
            if "feed" in feed_obj:
                entries = feed_obj["feed"]["entry"]
                # Make an application entity for each entry in feed
                last = {}
#                 cls.response.out.write('<html><body>')
                for entry in entries:
                    name = entry["gsx$name"]['$t']
#                     self.response.out.write("<p>" + name + "</p>");
                    note = entry["gsx$notes"]['$t']
                    # If new name
                    if not name in last.keys():
                        res = Resource()
                        res.name = name
                        res.note = []
                        logging.debug("Resource repeated %s", name)
                        res.website = entry["gsx$website"]['$t']
                        res.overview = entry["gsx$overview"]['$t']
                        res.audience = entry["gsx$audience"]['$t']
                        content = entry["gsx$content"]['$t']
                        if len(content) == 0:
                            res.content = 0
                        else:
                            res.content = int(content)
                        presentation = entry["gsx$presentation"]['$t']
                        if len(presentation) == 0:
                            res.presentation = 0
                        else:
                            res.presentation = int(presentation)
                        spanish = entry["gsx$spanish"]['$t']
                        if spanish == "No":
                            res.spanish = False
                        else :
                            res.spanish = True
                        res.license = entry["gsx$license"]['$t']
                        res.grade = entry["gsx$grade"]['$t']
                    else:
                        res = last[name] # Resource
                        res.notes.append(note)
                        logging.debug("New resource found %s", name)
                    res.put()
                    last[name] = res
                resources = Resource.getResources()
                i = 0
                for res in resources:
#                     self.response.out.write("<p>" + str(res.name) + "</p>");
                    i = i + 1
                    #print ("<p>" + str(res) + "</p>")
#                 cls.response.out.write('Num Resources ' + str(i))   
#                 cls.response.out.write('</body></html>')
#          self.response.headers['Content-Type'] = 'text/plain'
#                     self.response.out.write('<html><body>')
#                     self.response.out.write("<p>" + " " + name +  website + overview + audience + content + presentation + spanish + notes + link_license + grade)   
#                     self.response.out.write('</body></html>')
 
# application = webapp.WSGIApplication([('/', MainPage)], debug=True)
#  
# def main():
#     run_wsgi_app(application)
#  
# if __name__ == "__main__":
#     main()