Пример #1
0
 def get(self):
     checkJoke=JokeCheck.get_by_key_name('check')
     checkJoke=NewJoke.get_by_key_name(checkJoke.lastCheckJoke)
     if checkJoke:
         hahalist=NewJoke.all().filter('updateTime >',checkJoke.updateTime).order('updateTime').fetch(40)
     else:
         hahalist=NewJoke.all().order('updateTime').fetch(40)
     self.render('templates/check.html',{'hahalist':hahalist})
Пример #2
0
 def get(self):
     joke=self.request.get('joke')
     limit=self.request.get('limit')
     if not limit:
         limit=20
     else:
         limit=int(limit)
     type=self.request.get('type')
     if not type:
         type=3
     else:
         type=int(type)
     memkey='d'+str(limit)+joke+str(type)
     jlist=memcache.get(memkey)
     if not jlist:
         jlist=NewJoke.all()
         if joke:
             joke=NewJoke.get_by_key_name(joke)
         if joke:
             jlist=jlist.filter('updateTime >',joke.updateTime)
         if type:
             jlist=jlist.filter('type =',type)
         jlist=jlist.order('updateTime').fetch(limit)
         memcache.set(memkey,jlist,7200)
     xml,datas=list2xml(jlist)
     datas.setAttribute('aPhoneVerson',str(setting.aPhoneVerson))
     datas.setAttribute('aPhoneURI',setting.aPhoneURI)
     datas.setAttribute('ADTime',str(setting.ADTime))
     self.response.out.write(xml.toxml('utf-8'))
Пример #3
0
    def get(self,date=None,page=1,limit=20):
        perdate=''
        afterdate=''
        if None==date:
            defaultdate=DefaultDate.get_by_key_name('date')
            date=defaultdate.date
            afterdate='flage'

        html=memcache_get('date'+date+'page'+str(page)+'limit'+str(limit))
        if html:
            return self.flashhtml(html)
        perdate=(datetime.datetime.strptime(date,'%Y%m%d')-datetime.timedelta(hours =24)).strftime('%Y%m%d')
        if not afterdate:
            afterdate=(datetime.datetime.strptime(date,'%Y%m%d')+datetime.timedelta(hours =24)).strftime('%Y%m%d')
        else:
            afterdate=''
        if page:
            page=int(page)
        if limit:
            limit=int(limit)
        hahamap=memcache.get('query:date'+date+'page'+str(page)+'limit'+str(limit))
        if not hahamap:
            hahalist=[]
            for joke in NewJoke.all().filter('date =',date).order('-updateTime'):
                hahalist.append(joke)
            total=int(len(hahalist)/limit)
            for i in range(total):
                if i==(total-1):
                    memcache.set('query:date'+date+'page'+str(i+1)+'limit'+str(limit),{'hahalist':hahalist[i*limit:],'total':len(hahalist)},3600*72)
                else:
                    memcache.set('query:date'+date+'page'+str(i+1)+'limit'+str(limit),{'hahalist':hahalist[i*limit:(i+1)*limit],'total':len(hahalist)},3600*72)
        hahamap=memcache.get('query:date'+date+'page'+str(page)+'limit'+str(limit))
        if not hahamap:
            self.redirect('/%s/1/%s'%(perdate,limit))
            return
        totalpage=hahamap.get('total',0)
        nowpage=None
        pagelist=[]
        for p in range(int(totalpage/limit)):
            if (page-1)==p:
                nowpage='/%s/%s/%s'%(date,(p+1),limit)
            pagelist.append({'page':'/%s/%s/%s'%(date,(p+1),limit),'pagenum':p+1})
        if perdate==date:
            perdate=''
        html=self.obj2str('templates/jokeindex.html',{'hahalist':hahamap.get('hahalist',[]),'pagelist':pagelist,'nowpage':nowpage,'pagenum':page,'limit':limit,'nowdate':date,'perdate':perdate,'afterdate':afterdate})
        memcache_set('date'+date+'page'+str(page)+'limit'+str(limit),html,3600*5*page)
        self.flashhtml(html)
        return
Пример #4
0
    def get(self,limit=10,pagenum=1):
        limit=int(limit)
        pagenum=int(pagenum)
        if pagenum==1 and( not self.request.referer or self.request.referer[0:len(self.request.host_url)]!=self.request.host_url):
            refer=True
        else:
            refer=False
#            logging.info(str(self.request.referer))
        tmppagenum=0
        if pagenum==1:
            Cookies = {}  # tempBook Cookies
            Cookies['request_cookie_list'] = [{'key': cookie_key, 'value': cookie_value} for cookie_key, cookie_value in self.request.cookies.iteritems()]
            for c in Cookies['request_cookie_list']:
                if c['key']=='pagenum':
                    if c.has_key('value') and c['value']:
                        tmppagenum=int(c['value'])
            if not tmppagenum :
                refer=False
        tmp=self.request.get('tmp')
        if tmp and tmppagenum>0:
            pagenum=tmppagenum
        hahalist=memcache.get(str(limit)+'p'+str(pagenum))
        if not hahalist:
            hahalist=NewJoke.all().order('-updateTime').fetch(limit,limit*(pagenum-1))
            memcache.set(str(limit)+'p'+str(pagenum),hahalist,7200)
        if hahalist:
            nowpagestr=hahalist[-1].key().name()
            nowpagestrp=hahalist[0].key().name()
        else:
            nowpagestr='j'
            nowpagestrp='j'
        nowpage='/%s/%s/%s/%s'%(limit,pagenum,pagenum,nowpagestr)
        pagelist=memcache.get(nowpage)
        if not pagelist:
            pagelist=[]
            for i in range(max(1,pagenum-2),max(1,pagenum-2)+7):
                if pagenum>=i:
                    pagelist.append(('/%s/%s/%s/%s'%(limit,i,pagenum,nowpagestr),i))
                else:
                    pagelist.append(('/%s/%s/%s/%s'%(limit,i,pagenum,nowpagestrp),i))
            memcache.set(nowpage,pagelist,72000)
        if pagenum>1:
            setCookie='pagenum=%s;'%(pagenum,)
            self.response.headers.add_header('Set-Cookie', str(setCookie)+'Max-Age = 36000;path=/;')
        self.render('templates/result.html',{'refer':refer,'hahalist':hahalist,'per':'/%s/%s/%s/%s'%(limit,max(1,pagenum-1),pagenum,nowpagestr),'next':'/%s/%s/%s/%s'%(limit,max(1,pagenum+1),pagenum,nowpagestrp),'pagelist':pagelist,'nowpage':nowpage,'pagenum':pagenum})
Пример #5
0
    def get(self,limit=20,pagenum=1,nowpage=1,jokeid='j'):
        if int(limit)!=20:
            return
        html=memcache.get(str(limit)+'page'+str(pagenum))
        if html:
            return self.flashhtml(html)
        limit=int(limit)
        pagenum=int(pagenum)
        nowpage=int(nowpage)
        nowjoke=NewJoke.get_by_key_name(jokeid)
        if not nowjoke:
            pagenum=1
            nowpage=1
        if pagenum==1 and( not self.request.referer or self.request.referer[0:len(self.request.host_url)]!=self.request.host_url):
            refer=True
        else:
            refer=False
        tmppagenum=0
        if pagenum==1:
            Cookies = {}  # tempBook Cookies
            Cookies['request_cookie_list'] = [{'key': cookie_key, 'value': cookie_value} for cookie_key, cookie_value in self.request.cookies.iteritems()]
            for c in Cookies['request_cookie_list']:
                if c['key']=='pagenum':
                    if c.has_key('value') and c['value']:
                        tmppagenum=int(c['value'])
            if not tmppagenum :
                refer=False
        tmp=self.request.get('tmp')
        if tmp and tmppagenum>0:
            pagenum=tmppagenum
        hahalist=memcache.get(str(limit)+'p'+str(pagenum))
        if not hahalist:
            hahalist=NewJoke.all()
            if pagenum>=nowpage:
                if nowjoke:
                    hahalist=hahalist.filter('updateTime <',nowjoke.updateTime)
                hahalist=hahalist.order('-updateTime').fetch(limit,limit*(pagenum-nowpage))
            else:
                if nowjoke:
                    hahalist=hahalist.filter('updateTime >',nowjoke.updateTime)
                hahalist=hahalist.order('updateTime').fetch(limit,limit*(nowpage-pagenum))
                hahalist.reverse()
            memcache.set(str(limit)+'p'+str(pagenum),hahalist,7200)

        if hahalist:
            nowpagestr=hahalist[-1].key().name()
            nowpagestrp=hahalist[0].key().name()
        else:
            nowpagestr='j'
            nowpagestrp='j'
        nowpage='/%s/%s/%s/%s'%(limit,pagenum,pagenum,nowpagestr)
        pagelist=memcache.get(nowpage)
        if not pagelist:
            pagelist=[]
            for i in range(max(1,pagenum-2),max(1,pagenum-2)+7):
                if pagenum>=i:
                    pagelist.append(('/%s/%s/%s/%s'%(limit,i,pagenum,nowpagestr),i))
                else:
                    pagelist.append(('/%s/%s/%s/%s'%(limit,i,pagenum,nowpagestrp),i))
            memcache.set(nowpage,pagelist,72000)
        if pagenum>1:
            setCookie='pagenum=%s;'%(pagenum,)
            self.response.headers.add_header('Set-Cookie', str(setCookie)+'Max-Age = 36000;path=/;')
        html=self.obj2str('templates/result.html',{'refer':refer,'hahalist':hahalist,'per':'/%s/%s/%s/%s'%(limit,max(1,pagenum-1),pagenum,nowpagestr),'next':'/%s/%s/%s/%s'%(limit,max(1,pagenum+1),pagenum,nowpagestrp),'pagelist':pagelist,'nowpage':nowpage,'pagenum':pagenum})
        memcache.set(str(limit)+'page'+str(pagenum),html,7200)
        self.flashhtml(html)