Exemplo n.º 1
0
    def doget(self, page):
        try:

            page = int(page)
            max_page = (self.blog.entrycount - 1) / self.blog.posts_per_page
            
            if max_page < 0:
                max_page = 0

            if page < 0 or page > max_page:
                return self.error(404)

            query = Entry.gql("WHERE entrytype = 'post' AND published = TRUE ORDER BY date DESC")
            entries = query.fetch(self.blog.posts_per_page, page * self.blog.posts_per_page)

            show_prev = entries and not page == 0
            show_next = entries and not page == max_page

            logging.info("generated main page")
        
            return self.render('index', {
                'entries':      entries,
                'show_prev':    show_prev,
                'show_next':    show_next,
                'pageindex':    page,
                'ishome':       True,
                })
        except:
            logging.error(traceback.format_exc())
            return self.error(404)    
Exemplo n.º 2
0
    def initialize(self, request, response):
        try:
            BaseRequestHandler.initialize(self, request, response)

            m_pages = (
                Entry.all()
                .filter("entrytype =", "page")
                .filter("published =", True)
                .filter("entry_parent =", 0)
                .order("menu_order")
            )
            blogroll = Link.all().filter("linktype =", "blogroll")

            query = Entry.gql("WHERE entrytype = 'post' AND published = TRUE ORDER BY date")
            entries = query.fetch(1)
            start_date = end_date = None
            if entries:
                start_date = entries[0].date

            query = Entry.gql("WHERE entrytype = 'post' AND published = TRUE ORDER BY date DESC")
            entries = query.fetch(1)
            if entries:
                end_date = entries[0].date

            end_year = 0
            if end_date:
                end_year = end_date.year

            self.template_vals.update(
                {
                    "dates": self.build_dates(start_date, end_date),
                    "end_year": end_year,
                    "menu_pages": m_pages,
                    "tags": Tag.all().order("tag"),
                    "blogroll": blogroll,
                    "recent_comments": Comment.all().order("-date").fetch(5),
                }
            )
            logging.info("base public page initialized")
        except:
            logging.error(traceback.format_exc())
            return self.error(404)
Exemplo n.º 3
0
    def get(self, year, month):
        

        gql = "WHERE date > DATETIME(%s, %s, 1, 0, 0, 0) AND date < DATETIME(%s, %s, %d, 23, 59, 59) ORDER BY date DESC" % (year, month, year, month, self.last_day_of_month(year, month))
        query = Entry.gql(gql)
        entries = query.fetch(1000)

        show_prev = False
        show_next = False
                
        return self.render('index', {
            'entries':      entries,
            'show_prev':    show_prev,
            'show_next':    show_next,
            'pageindex':    0,
            'ishome':       True,
            'end_year':     int(year),
            })