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() ))
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))
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([])
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
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))
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))
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))
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() )
def write_response(self): return simplejson.dumps(self.response)
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("'", "\'") + ");" )
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([])
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([])
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));
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() ))