Esempio n. 1
0
File: rpc.py Progetto: jamslevy/PQ
  def post(self):
		from utils.appengine_utilities.sessions import Session
		self.session = Session()
		if self.request.get('action') == 'reset': self.response.out.write(simplejson.dumps(  self.reset_account()  ))
		if self.request.get('action') == 'update_user_stats': self.response.out.write(simplejson.dumps(  self.update_user_stats()  ))  
		if self.request.get('action') == 'update_user_awards': self.response.out.write(simplejson.dumps(  self.update_user_awards()  ))
		if self.request.get('action') == 'update_user_sponsorships': self.response.out.write(simplejson.dumps(  self.update_user_sponsorships()  ))   
Esempio n. 2
0
File: rpc.py Progetto: jamslevy/PQ
 def get(self):
   func = None
  
   action = self.request.get('action')
   if action:
     	if action[0] == '_':
         self.error(403) # access denied
         return
       else:
         func = getattr(self.methods, action, None)
  
   if not func:
     self.error(404) # file not found
     return
    
   args = ()
   while True:
     key = 'arg%d' % len(args)
     val = self.request.get(key)
     if val:
       args += (simplejson.loads(val),)
     else:
       break
   result = func(*args)
   if self.request.get('callback'): self.response.out.write(self.request.get("callback") + "(" + str(simplejson.dumps(result)).replace("\n", "") + ");")
   else: self.response.out.write(simplejson.dumps(result))
Esempio n. 3
0
File: rpc.py Progetto: jamslevy/PQ
 def GetRawItemsForProficiency(self, *args):  
     this_subject = Proficiency.get_by_key_name(args[0]) # try get_or_insert if Proficiency is key
     prof_pages = this_subject.pages.fetch(10)
     raw_items = []
     for p in prof_pages:
         these_items = RawQuizItem.gql("WHERE page = :1 AND moderated = False", p ) # only get unmoderated items
         items = these_items.fetch(1000)
         raw_items += items
     try: return encode(raw_items)  # get 10 at a time...todo: lazy rpc-loader.
     except: return simplejson.dumps([])
Esempio n. 4
0
File: rpc.py Progetto: jamslevy/PQ
 def get_quiz(self, *args):
   template_values = {}
   item_key = args[0]
   this_quiz_item = db.get(item_key)
   quiz_item = {}
   quiz_item['topic_name'] = this_quiz_item.topic.name
   quiz_item['content'] = this_quiz_item.content
   quiz_item['answers'] = this_quiz_item.answers
   quiz_item['theme'] = this_quiz_item.theme
   json_response = simplejson.dumps(quiz_item) 
   return json_response
Esempio n. 5
0
def suggestions(request):
    s = []

    suggestions = Translation.all()
    # suggestions = suggestions.filter('paragraph = ', Page.get_by_id(100)).order('-date')

    for x in suggestions:
        d = {"suggestion": x.suggestion, "id": x.key().id(), "p": x.paragraph}
        s.append(d)

    from utils import simplejson

    return HttpResponse(simplejson.dumps(s))
Esempio n. 6
0
File: rpc.py Progetto: jamslevy/PQ
  def post(self):
    args = simplejson.loads(self.request.body)
    func, args = args[0], args[1:]
   
    if func[0] == '_':
      self.error(403) # access denied
      return
     
    func = getattr(self.methods, func, None)
    if not func:
      self.error(404) # file not found
      return

    result = func(*args)
    self.response.out.write(simplejson.dumps(result))
Esempio n. 7
0
 def get_html(self):   
   import urllib
   template_values = {'text': urllib.unquote( self.request.get('text') ) }
   from model.proficiency import Proficiency 
   if self.request.get('subject_key'): template_values['subject_key'] = self.request.get('subject_key')
   else: 
     subjects = Proficiency.gql("WHERE status = 'public'").fetch(1000) 
     template_values['subjects'] = subjects
   if self.request.get('topic_key'): template_values['topic_key'] = self.request.get('topic_key')
   if self.request.get('topic_name'): 
       from model.proficiency import ProficiencyTopic
       p = ProficiencyTopic.gql("WHERE name = :1",  self.request.get('topic_name')).get()
       template_values['topic_key'] = p.key()
   path = tpl_path(DEV_PATH +'ubiquity_builder.html')
   response = simplejson.dumps(template.render(path, template_values))
   self.response.out.write(jsonp(self.request.get("callback"), response))
Esempio n. 8
0
File: rpc.py Progetto: jamslevy/PQ
	def post(self): 
	
		#TEMP
		# editing subjects
		if len(self.request.path.split('/subject_img/')) > 1: return self.response.out.write(self.upload_subject_img() )
		if self.request.get('action') == 'refresh_subjects': return self.response.out.write( self.refresh_subjects()  ) 		
		if self.request.get('action') == 'subject_blurb': return self.response.out.write(simplejson.dumps(  self.update_subject_blurb()  )) 
		if self.request.get('action') == 'change_rights': return self.response.out.write(self.change_rights() ) 
		if self.request.get('action') == 'add_link': return self.response.out.write(self.add_link() ) 
		if self.request.get('action') == 'remove_link': return self.response.out.write(self.remove_link() ) 
		if self.request.get('action') == 'change_video': return self.response.out.write(self.change_video() )
		if self.request.get('action') == 'delete_subject_image': return self.response.out.write(self.delete_subject_image() ) 						   
		if self.request.get('action') == 'create_new_subject': return self.response.out.write(self.create_new_subject() ) 	
		if self.request.get('action') == 'join_subject': return self.response.out.write(self.join_subject() ) 	
		if self.request.get('action') == 'send_invite': return self.response.out.write(self.send_invite() ) 
		
				
		# editing quiz items
		if self.request.get('action') == "NewTopic": return self.response.out.write( self.NewTopic() )
		if self.request.get('action') == "LoadAnswers": return self.response.out.write( self.LoadAnswers() )

		if self.request.get('action') == "SubmitItem": return self.response.out.write( self.SubmitItem() )	

		if self.request.get('action') == "GetBillUpdates": return self.response.out.write( self.GetBillUpdates() )	
Esempio n. 9
0
 def write_response(self):
 	return simplejson.dumps(self.response)
Esempio n. 10
0
 def get_js(self):      
     template_values = {}
     path = tpl_path(DEV_PATH +'ubiquity_builder.js')
     response = simplejson.dumps(template.render(path, template_values))
     self.response.out.write(self.request.get("callback") + "(" + response.replace("'", "\'") + ");" )
Esempio n. 11
0
File: rpc.py Progetto: jamslevy/PQ
 def GetTopicsForProficiency(self, *args):  
     topics = []
     this_subject = Proficiency.gql("WHERE name = :1 ORDER BY date DESC", args[0]) # try get_or_insert if Proficiency is key
     topics = ProficiencyTopic.gql("WHERE proficiency = :1 ORDER BY date DESC", this_subject.get().key())
     try: return encode(topics.fetch(10))  # get 10 at a time...todo: lazy rpc-loader.
     except: return simplejson.dumps([])
Esempio n. 12
0
File: rpc.py Progetto: jamslevy/PQ
 def GetRawItemsForTopic(self, *args):  
     raw_quiz_items = []
     this_topic = ProficiencyTopic.gql("WHERE name = :1 ORDER BY date DESC", args[0])
     #these_items = RawQuizItem().gql("WHERE topic = :1", this_topic.get())
     try: return encode(this_topic.get().pages.get().raw_items.fetch(10))  # get 10 at a time...todo: lazy rpc-loader.
     except: return simplejson.dumps([])
Esempio n. 13
0
File: rpc.py Progetto: jamslevy/PQ
	def LoadUbiquityAnswers(self):     
		correct_answer = self.request.get('correct_answer')
		item_text = self.request.get('item_text')
		from editor.answers import Answers
		answers = Answers()
		return simplejson.dumps(answers.load(correct_answer, item_text));
Esempio n. 14
0
File: rpc.py Progetto: jamslevy/PQ
 def post(self):
 	if self.request.get('action') == 'settings': self.response.out.write(simplejson.dumps(  self.sponsor_settings()  )) 
 	if self.request.get('action') == 'apply': self.response.out.write(simplejson.dumps(  self.sponsor_apply()  ))