Example #1
0
 def succeed(self, result=None):
     """ Return successful JSON data to the client.
     """
     if result is None:
         self.response.out.write('{"RE":"OK"}')
     elif isinstance(result, dict):
         result['RE'] = 'OK'
         self.response.out.write(jsonize(result))
     elif isinstance(result, list):
         self.response.out.write(jsonize(result))
     elif isinstance(result, basestring):
         self.response.out.write(result)
Example #2
0
def update_users(web, args=None):
    web.require_admin()
    usrs = SuiUser.all().fetch(100)
    for u in usrs:
        if u.role == 'A':
            qa = SuiAuthor(key_name=u.key().name())
            qa.name = u.name
            bks = SuiBook.all().filter('authors =',qa.name).fetch(5)
            wrks = dict((str(b.key().id()),[datetime.strftime(b.started,'%Y-%m-%d %H:%M:%S'),b.pages,0]) for b in bks)
            qa.works = jsonize(wrks)
            qa.intro = 'Self-introduction for %s'%qa.name
            qa.links = '{"web":"http:","blog":"http:","twitter":"1233","facebook":"323"}'
            qa.put()
        #db.delete(u)
        u.put()
    web.succeed()
Example #3
0
def update_users(web, args=None):
    web.require_admin()
    usrs = SuiUser.all().fetch(100)
    for u in usrs:
        if u.role == 'A':
            qa = SuiAuthor(key_name=u.key().name())
            qa.name = u.name
            bks = SuiBook.all().filter('authors =', qa.name).fetch(5)
            wrks = dict((str(b.key().id()), [
                datetime.strftime(b.started, '%Y-%m-%d %H:%M:%S'), b.pages, 0
            ]) for b in bks)
            qa.works = jsonize(wrks)
            qa.intro = 'Self-introduction for %s' % qa.name
            qa.links = '{"web":"http:","blog":"http:","twitter":"1233","facebook":"323"}'
            qa.put()
        #db.delete(u)
        u.put()
    web.succeed()
Example #4
0
 def fail(self, msg=None, format='JSON', page='error.html'):
     """ Return a failure message to the client. If use error.html, replace {{ error }} with msg.
     @param msg: message text to return or None, can also be a dict with 'error' in it.
     @param format: JSON or HTML to return
     @param page: error.html by default for format=='HTML'
     @return: {"error":"msg"} #{'RE':'Fail',msg:'...'} 
     """
     if format == 'JSON':
         if msg:
             if isinstance(msg, basestring):
                 err = '{"error":"%s"}' % msg
             else:
                 err = jsonize(msg)
         else:
             err = '{"error":"Unknown error"}'
         self.response.out.write(err)
     elif format == 'HTML':
         if page == '':
             logging.error('main.fail(): page not given')
             return
         if msg: self.add_var('error', msg)
         self.render_page(page)
Example #5
0
 def pack_authors(athrs):
     buf = []
     for a in athrs:
         if not a.confirmed: continue
         bks = len(re.findall('\[',a.works or ''))
         buf.append('{"uid":"%s","name":"%s","job":"%s","books":%d,"intro":%s}' % (a.key().name(),a.name,a.job,bks,jsonize(a.intro)))
     return '[%s]'%','.join(buf)