Пример #1
0
 def get(self, page_name):
     user = self.check_login_status()
     view = self.request.get('v')
     if not page_name:
         if not view:
             page = Page.get_by_key_name('/')
         else:
             if view.isdigit():
                 view = int(view)
                 pages = HistoryItem.get_by_page_name('/')
                 if view <= len(pages):
                     page = pages[int(view) - 1]
                 else:
                     self.abort(404)
             else:
                 self.abort(404)
     else:
         if not view:
             page = Page.get_by_key_name(page_name)
         else:
             if view.isdigit():
                 view = int(view)
                 pages = HistoryItem.get_by_page_name(page_name)
                 if view <= len(pages):
                     page = pages[int(view) - 1]
                 else:
                     self.abort(404)
             else:
                 self.abort(404)
     self.render('wiki_edit.html', page=page, user=user)
Пример #2
0
    def extract_page(self, output_path):
        with open(output_path) as file:
            html = file.read()
        soup = BeautifulSoup(html, 'html.parser')
        html_blocks = soup.findAll("line")

        blocks = [self.to_block(tag) for tag in html_blocks]
        page_size = soup.find("page")
        height, width = self.to_height_width(page_size)

        file_id = os.path.split(output_path)[-1]
        return Page(_id=file_id, blocks=blocks, height=height, width=width)
Пример #3
0
 def post(self, page_name):
     user = self.check_login_status() 
     content = self.request.get('content')
     if not page_name:
         page_name='/'
         page = Page(key_name=page_name,
                     page_name=page_name,
                     content=content,
                     author_id=user.key().id())
         page.put()
         history_item = HistoryItem(page_name=page_name,
                                    content=content,
                                    author_id=page.author_id,
                                    creation_date=page.created)
         history_item.put()
         self.redirect('/wiki')
     else:
         page = Page(key_name=page_name,
                     page_name=page_name,
                     content=content, 
                     author_id = user.key().id())
         page.put()
         history_item = HistoryItem(page_name=page_name,
                                    content=content,
                                    author_id=page.author_id,
                                    creation_date=page.created)
         history_item.put()
         self.redirect('/wiki/%s' % page_name)
Пример #4
0
    def get(self, page_name):
        user = self.check_login_status()
        view = self.request.get('v')

        if not page_name:
            if not view:
                page = Page.get_by_key_name('/')
            else:
                if view.isdigit():
                    view = int(view)
                    pages = HistoryItem.get_by_page_name('/')
                    if view <= len(pages):
                        page = pages[view - 1]
                    else:
                        self.abort(404)
                else:
                    self.abort(404)
        else:
            if not view:
                page = Page.get_by_key_name(page_name)
            else:
                if view.isdigit():
                    view = int(view)
                    pages = HistoryItem.get_by_page_name(page_name)
                    if view <= len(pages):
                        page = pages[view - 1]
                    else: self.abort(404)
                else:
                    self.abort(404)

        if not page and page_name:
            self.redirect('/wiki/_edit/%s' % page_name)
        elif not page:
            self.redirect('/wiki/_edit')
        else:
            if view:
                self.render('wiki.html', user=user, page=page, view=view)
            else:
                self.render('wiki.html', user=user, page=page)
Пример #5
0
	def post(self, page_id):
		self.page_id = page_id[1:]

		q = Page.Page.by_page_id(self.page_id)


		self.created_user = q.created_user if q else self.user.name

		self.title = self.request.get("title")
		self.content = self.request.get("content")
		self.modified_user = self.user.name

		have_error = False
		params = {"title": self.title,
			"content": self.content,
			"created_user": self.created_user,
			"modified_user": self.modified_user,
			"page_id": self.page_id
		}

		if self.title:
			check_title = Page.Page.by_title(self.title).title if Page.Page.by_title(self.title) else None

		print self.title
		if not self.title:
			params["error"] = "You must enter a title."
			have_error = True
		elif (not q and check_title) or (q and check_title and q.title != self.title):
			params["error"] = "That title is already taken."
			have_error = True
		elif not self.content:
			params["error"] = "You must enter content for the page."
			have_error = True

		if have_error:
			self.render("edit_page.html", **params)
		else:
			if q:
				q.title=self.title
				q.content=self.content
				q.modified_user=self.modified_user
			else:
				q = Page.Page(title=self.title, content=self.content, created_user=self.created_user,
					modified_user=self.modified_user, page_id=self.page_id, parent=Page.page_key())
			q.put()

			self.redirect("/%s" % self.page_id)