def cmd_edit(self, ri): if not config.EDITABLE or self.wikifile.path in page.locked_pages: return self.renderer_wrapper(views.locked_body()) paraedit = self._get_paraedit(ri.args) wikif = "" if self.wikifile.exist: if paraedit: wikif = self.wikifile.get_paraedit_section(paraedit[0], paraedit[1]) else: wikif = self.wikifile.text # if wikif: # wikif = wiki2html.pre_convert_wiki(wikif) return self.renderer_wrapper(views.edit_body("", wikif, "", "", paraedit, not ri.is_valid_host))
def cmd_commit(self, ri): form = ri.form if ri.is_spam: return self.text_wrapper(text_access_denied) if not config.EDITABLE or self.wikifile.path in page.locked_pages: return self.renderer_wrapper(views.locked_body()) base_rev = form.get("base_rev", type=int) if not (base_rev <= self.head.revno) and base_rev > 0: raise exceptions.BadRequest() paraedit = self._get_paraedit(ri.form) wiki_text = unescape(form.get("text", "")).replace("\r\n", "\n") commitmsg_text = unescape(form.get("commitmsg", "")) ispreview = form.has_key("preview") wiki_src_full = wiki_text if paraedit: wiki_src_full = self.wikifile.get_paraedit_applied_data(paraedit[0], paraedit[1], wiki_text) # wiki_src_full = wiki2html.pre_convert_wiki(wiki_src_full) base_page = self.wikifile.switch_rev(base_rev) full_merged, merged, message = models.merge_with_latest(self.wikifile, base_page, wiki_src_full) if merged or ispreview or (not ri.is_valid_host): if paraedit and not merged: edit_src = wiki_text else: edit_src = full_merged paraedit = None preview_text = self.wikifile.get_preview_xhtml(edit_src) return self.renderer_wrapper( views.edit_body(preview_text, edit_src, commitmsg_text, message, paraedit, not ri.is_valid_host) ) else: r = self.wikifile.write_text(full_merged, ri.user, commitmsg_text) return self.renderer_wrapper(views.commited_body(not not r, base_rev=self.head.revno, commited_rev=r))