salahzar

edmondo google engine

Mar 16th, 2016
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.29 KB | None | 0 0
  1. import webapp2
  2. import urllib
  3.  
  4. from google.appengine.ext import db
  5.  
  6. class Service(db.Model):
  7.   name = db.StringProperty(multiline=False)
  8.   url = db.StringProperty(multiline=False)
  9.  
  10. class Scores(db.Model):
  11.   session = db.StringProperty(multiline=False)
  12.   name = db.StringProperty(multiline=False)
  13.   score = db.IntegerProperty()
  14.  
  15. class MainPage(webapp2.RequestHandler):
  16.   def get(self):
  17.  
  18.     session=self.request.get('session') #the session
  19.     name=self.request.get('name') # name
  20.     score=long("0"+self.request.get('score')) # score
  21.  
  22.     if self.request.get('type')=='add':  # Adding a new score
  23.           q = db.GqlQuery("SELECT * FROM Scores WHERE session = :k1 AND name = :k2",k1=session, k2=name)
  24.           count=q.count(2)
  25.  
  26.           if count==0 :  # the service doesn't exist, so add it.
  27.               if session=="" or name=="" :
  28.                   self.response.out.write('must provide session, name')
  29.               else:
  30.                   newrec=Scores(session=session,name=name,score=score)
  31.                   newrec.put()
  32.                   self.response.out.write('Added new score for ' + name)
  33.           else:
  34.               rec=q.get()
  35.               rec.score = rec.score + score
  36.               rec.put()
  37.               self.response.out.write('Updated '+name+" now is "+str(rec.score))
  38.     elif self.request.get('type')=='list':
  39.         q = db.GqlQuery("SELECT * FROM Scores WHERE session = :k1 ORDER BY score DESC",k1=session)
  40.         count = q.count(2)
  41.         #self.response.out.write("Found "+str(count)+" results ")
  42.         if count==0 :
  43.               self.response.out.write('Empty')
  44.         else:
  45.               results = q.fetch(1000)
  46.               for result in results:
  47.                  self.response.out.write(result.name+','+str(result.score)+"\n")
  48.               self.response.out.write('END')  # Cap the list
  49.  
  50.     elif self.request.get('type')=='clear':
  51.           q = db.GqlQuery("SELECT * FROM Scores WHERE session = :kk",kk=session)
  52.           count=q.count(2)
  53.  
  54.           if count==0 :
  55.             self.response.out.write('None')
  56.           else:
  57.             results=q.fetch(100)
  58.             db.delete(results)  
  59.             self.response.out.write('Removed '+str(count))
  60.          
  61.  
  62.  
  63. app = webapp2.WSGIApplication([
  64.     ('/', MainPage),
  65.     ],
  66. debug=True)
Add Comment
Please, Sign In to add comment