コード例 #1
0
    def post(self):
        titulo = self.request.get("edTitulo", "")
        autor = self.request.get("edAutor", "")
        contenido = self.request.get("edContenido", "")

        if (not titulo or not autor or not contenido):
            return self.redirect("/home")
        else:
            post = Post(titulo=titulo, contenido=contenido, autor=autor)
            post.put()
            time.sleep(1)
            return self.redirect("/home")
コード例 #2
0
ファイル: blog.py プロジェクト: alephnullplex/alephnullblog
	def save_from_form(self, save_status, save=True):
		"""
		Updates a post based on form values and notifies ping services
		if it is the first publication of the post
		"""
		do_notification = False
		
		tags = []
		for tag in self.params.get('tags', "").split(','):
			tags.append(tag.strip())
		
		if self.params.get('key'):
			# update if we have an id
			p = Post.get(self.params.get('key'))
			if save and p.status <> 'Published' and save_status == 'Published':
				do_notification = True
			p.content = self.params.get('content', None)
			p.title = self.params.get('title', None)
			p.status = save_status
			p.slug = self.params.get('slug', None)
			p.tags = tags
		else:
			# else we insert
			p = Post(
				content = self.params.get('content', None),
				title = self.params.get('title', None),
				status = save_status,
				slug = self.params.get('slug', None),
				tags = tags
			)
			if save and save_status == 'Published':
				do_notification = True
		if save:
			p.put()
			archive = 'archive_' + str(p.posted_on.year) + str(p.posted_on.month) + str(p.posted_on.day)
			ptitle = str(p.posted_on.year).rjust(2, '0') + str(p.posted_on.month).rjust(2, '0') + str(p.posted_on.day).rjust(2, '0') + '/' + p.slug
			self.invalidate_cache(['blog_last10', archive, ptitle])
		
		do_notification = False
		if do_notification:
			from external.notification import ping_all
			name = 'AlephNullPlex'
			base = 'http://alephnullplex.appspot.com/blog/'
			perm = base + 'view/' +  str(p.posted_on.year) + str(p.posted_on.month) + str(p.posted_on.day)+ '/' + p.slug
			feed = base + 'rss'
			errors = ping_all(name, base, perm, feed, '')
			if errors:
				self.error = '<br />'.join(errors)
		return p
コード例 #3
0
ファイル: post.py プロジェクト: IsaacLean/fgdojo
    def post(self):
        title = self.request.get('title')
        content = self.request.get('content')
        board = self.request.get('board')

        if title == '':
            self.error(400)
        else:
            author = getSecureUser(self.request)

            if(author is not None):
                # TODO: check if user is authorized to post in board

                newPost = Post(title=title, content=content, author=author, board=board)
                newPost.put()

                # TODO: redirect to post URL
            else:
                self.error(401)
コード例 #4
0
ファイル: hw3.py プロジェクト: M4573R/udacity-1
    def post(self, id):
        subject = self.request.get("subject")
        content = self.request.get("content")

        if subject and content:
            post = Post(subject=subject, content=content)
            key = post.put()
            self.redirect("/blog/" + str(key.id()))
        else:
            self.render_form(content, subject, "Both a subject and content must be present")
コード例 #5
0
ファイル: hw3.py プロジェクト: ninguem26/udacity
    def post(self, id):
        subject = self.request.get('subject')
        content = self.request.get('content')

        if subject and content:
            post = Post(subject=subject, content=content)
            key = post.put()
            self.redirect('/blog/' + str(key.id()))
        else:
            self.render_form(content, subject, 'Both a subject and content must be present')
コード例 #6
0
    def setUp(self):
        self.testapp = webtest.TestApp(app)
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub()
        self.testbed.init_memcache_stub()

        # Set up some initial users
        valid_user = User(id="Valid User", password="******")
        self.valid_user_key = valid_user.put()

        invalid_user = User(id="Invalid User", password="******")
        self.invalid_user_key = invalid_user.put()

        valid_liker = User(id="Valid Liker", password="******")
        self.valid_liker_key = valid_user.put()

        invalid_liker = User(id="Invalid Liker", password="******")
        self.invalid_liker_key = invalid_user.put()

        # Set up an initial post
        initial_post = Post(title="Test Post",
                            content="Some content",
                            submitter="Valid User")
        self.initial_post_key = initial_post.put()

        initial_post_to_like = Post(title="Test Post",
                                    content="Some content",
                                    submitter="Invalid Liker")
        self.initial_post_to_like_key = initial_post_to_like.put()

        # Set up some other posts
        Post(title="Test Post A",
             content="Some content",
             submitter="Invalid Liker").put()
        Post(title="Test Post B",
             content="Some content",
             submitter="Valid User").put()
        Post(title="Test Post C",
             content="Some content",
             submitter="Valid User").put()
コード例 #7
0
    def post(self):
        title = self.request.get('title')
        content = self.request.get('content')
        board = self.request.get('board')

        if title == '':
            self.error(400)
        else:
            author = getSecureUser(self.request)

            if (author is not None):
                # TODO: check if user is authorized to post in board

                newPost = Post(title=title,
                               content=content,
                               author=author,
                               board=board)
                newPost.put()

                # TODO: redirect to post URL
            else:
                self.error(401)
コード例 #8
0
ファイル: main.py プロジェクト: VaraganiV/multiuserblog
    def post(self):
        """
            Creates new post and redirect to new post page.
        """
        if not self.user:
            self.redirect('/blog')
            return

        subject = self.request.get('subject')
        content = self.request.get('content')

        if subject and content:
            p = Post(parent=blog_key(),
                     user_id=self.user.key().id(),
                     subject=subject,
                     content=content)
            p.put()
            self.redirect('/blog/%s' % str(p.key().id()))
        else:
            error = "subject and content, please!"
            self.render("newpost.html",
                        subject=subject,
                        content=content,
                        error=error)
コード例 #9
0
    def post(self, **kwargs):
        title = self.request.POST['title']
        content = self.request.POST['content']
        submitter = self.request.cookies.get('user').split("|")[0]

        # Check that title and content are non-empty and add the data to the
        # datastore; otherwise, re-render the form with errors
        if title != '' and content != '':
            new_post = Post(title=title, content=content, submitter=submitter)
            new_post_key = new_post.put()
            new_post_id = new_post_key.id()
            self.redirect('/posts/%d' % new_post_id)
        else:
            template = jinja_env.get_template('new-post.html')
            form_data = {'title': title, 'content': content, 'error': True}
            self.write(template, {'form': form_data, 'new': True})