Пример #1
0
    def get(self):
        usr = users.get_current_user()

        usuarios = Usuario.query()

        # Ordenamos los posts de mas nuevos a mas viejos
        posts = Post.query().order(-Post.hora)

        jinja = jinja2.get_jinja2(app=self.app)

        valores_plantilla = {
            "usuarios": usuarios,
            "posts": posts,
            "usr": usr,
            "nickname": usr.nickname()
        }

        self.response.write(jinja.render_template("home.html", **valores_plantilla))
Пример #2
0
    def post(self):
        usr = users.get_current_user()

        # Si se ha logeado alguien, creo dicho usuario y si no es la primera vez lo modifica.
        if usr:
            usuarios = Usuario.query()
            email = usr.email()
            usuario = Usuario(email=usr.email())
            usuario.put()

        posts = Post.query().order(Post.hora)

        jinja = jinja2.get_jinja2(app=self.app)

        valores_plantilla = {
            "usuarios": usuarios,
            "posts": posts,
            "email": email
        }

        self.response.write(jinja.render_template("home.html", **valores_plantilla))
Пример #3
0
    def get(self, id=None):
        if id is not None:
            # /post/{id}: Read data for specific post
            post = Post.get_by_id(int(id))

            if post is not None:
                response = {
                    'id': post.key.id(),
                    'title': post.title,
                    'content': post.content,
                    'author': post.author,
                    'board': post.board,
                    'created': str(post.created),
                    'modified': str(post.modified)
                }

                self.response.write(json.dumps(response))
            else:
                self.error(404)
        else:
            # /post: Read list of latest posts
            postsQuery = Post.query().fetch(25)
            posts = []

            for post in postsQuery:
                posts.append({
                    'id': post.key.id(),
                    'title': post.title,
                    'content': post.content,
                    'author': post.author,
                    'board': post.board,
                    'created': str(post.created),
                    'modified': str(post.modified)
                })

            response = {
                'posts': posts
            }

            self.response.write(json.dumps(response))
Пример #4
0
    def get(self, id=None):
        if id is not None:
            # /post/{id}: Read data for specific post
            post = Post.get_by_id(int(id))

            if post is not None:
                response = {
                    'id': post.key.id(),
                    'title': post.title,
                    'content': post.content,
                    'author': post.author,
                    'board': post.board,
                    'created': str(post.created),
                    'modified': str(post.modified)
                }

                self.response.write(json.dumps(response))
            else:
                self.error(404)
        else:
            # /post: Read list of latest posts
            postsQuery = Post.query().fetch(25)
            posts = []

            for post in postsQuery:
                posts.append({
                    'id': post.key.id(),
                    'title': post.title,
                    'content': post.content,
                    'author': post.author,
                    'board': post.board,
                    'created': str(post.created),
                    'modified': str(post.modified)
                })

            response = {'posts': posts}

            self.response.write(json.dumps(response))
Пример #5
0
    def get(self, name=None):
        if name is not None:
            # /board/{name}: Read data for specific board
            board = Board.query(Board.name == name).get()

            if board is not None:
                queryString = self.request.GET.getall('post')

                queryType = None

                if (len(queryString) > 0):
                    # query string received
                    queryType = queryString[0]

                    if (queryType == 'new'):
                        # show new posts in board
                        postsQuery = Post.query(
                            Post.board == name).order(-Post.created).fetch(25)
                        posts = []

                        for post in postsQuery:
                            posts.append({
                                'id': post.key.id(),
                                'title': post.title,
                                'author': post.author,
                                'board': post.board,
                                'created': str(post.created),
                                'modified': str(post.modified)
                            })

                        response = {'posts': posts}

                        self.response.write(json.dumps(response))
                    else:
                        # invalid query string received
                        self.error(404)
                else:
                    # no query string received
                    response = {
                        'name': board.name,
                        'desc': board.desc,
                        'admins': board.admins,
                    }

                    self.response.write(json.dumps(response))
            else:
                # board doesn't exist
                self.error(404)
        else:
            # /board: Read list of default boards
            boardsQuery = Board.query().fetch(25)
            boards = []

            for board in boardsQuery:
                boards.append({
                    'name': board.name,
                    'desc': board.desc,
                    'admins': board.admins
                })

            response = {'boards': boards}

            self.response.write(json.dumps(response))