diff --git a/wikisync/plugin.py b/wikisync/plugin.py index f1483be..cac0e69 100644 --- a/wikisync/plugin.py +++ b/wikisync/plugin.py @@ -148,7 +148,8 @@ def wiki_page_deleted(self, page): self.log.debug("Removed wikisync '%s'" % item.name) def wiki_page_version_deleted(self, page): - self.wiki_page_version_deleted(page) + # self.wiki_page_version_deleted(page) + pass def wiki_page_renamed(self, page, old_name): # Treat as new page @@ -173,6 +174,10 @@ def render_admin_panel(self, req, cat, page, path_info): username = req.args.get("username", "") password = req.args.get("password", "") proxy = req.args.get("proxy", "") + proxy_type = req.args.get("proxy_type", "") + proxy_username = req.args.get("proxy_username", "") + proxy_password = req.args.get("proxy_password", "") + proxy_port = req.args.get("proxy_port", "") if password == password_stud: password = self._get_config("password") ignorelist = req.args.get("ignorelist", "") @@ -185,15 +190,16 @@ def render_admin_panel(self, req, cat, page, path_info): if server_info_changed and url: # remote server info has changed, test connection try: - wc = WebClient(url, username, password, proxy, True) + wc = WebClient(url, username, password, proxy, proxy_type, proxy_username, proxy_password, proxy_port, True) wc.test() except Exception, e: if hasattr(e, "code") and e.code == 401: add_warning(req, "Authentication failed, " "settings are not saved") else: - add_warning(req, "Cannot connect to remote server, " - "settings are not saved") + add_warning(req, "Cannot connect to remote server: %s . Settings are not saved" % str(e)) + print e + is_error = True if not is_error: self._set_config("url", url) @@ -201,6 +207,10 @@ def render_admin_panel(self, req, cat, page, path_info): self._set_config("password", password) self._set_config("ignorelist", ignorelist) self._set_config("proxy", proxy) + self._set_config("proxy_type", proxy_type) + self._set_config("proxy_username", proxy_username) + self._set_config("proxy_password", proxy_password) + self._set_config("proxy_port", proxy_port) self._save_config(req) if not url: add_warning(req, "Remote server not set, " @@ -217,6 +227,10 @@ def render_admin_panel(self, req, cat, page, path_info): "url": self._get_config("url", ""), "username": self._get_config("username", ""), "proxy": self._get_config("proxy", ""), + "proxy_type": self._get_config("proxy_type", ""), + "proxy_username": self._get_config("proxy_username", ""), + "proxy_password": self._get_config("proxy_password", ""), + "proxy_port": self._get_config("proxy_port", ""), "password": password, "ignorelist": self._get_config("ignorelist", ""), } @@ -393,12 +407,14 @@ def _process_action(self, req): self.log.debug("Pulled wiki '%s'" % item.name) elif action == "push": wiki = WikiPage(self.env, item.name) + author = get_reporter_id(req) or "wikisync" assert wiki.version > 0, "Cannot find wiki '%s'" % item.name item = item.replace( **wc.push( item.name, wiki.text, - wiki.comment + wiki.comment, + author ) ).synchronized() dao.update(item) @@ -458,10 +474,14 @@ def _get_web_client(self): username = self._get_config("username") password = self._get_config("password") proxy = self._get_config("proxy") + proxy_type = self._get_config("proxy_type") + proxy_username = self._get_config("proxy_username") + proxy_password = self._get_config("proxy_password") + proxy_port = self._get_config("proxy_port") if password: try: password = str_unmask(password) except ValueError: # assume its in clear text pass - return WebClient(baseurl, username, password, proxy, debug=False) + return WebClient(baseurl, username, password, proxy, proxy_type, proxy_username, proxy_password, proxy_port, debug=False) diff --git a/wikisync/templates/wikisync_admin.html b/wikisync/templates/wikisync_admin.html index 19af22f..6238c05 100644 --- a/wikisync/templates/wikisync_admin.html +++ b/wikisync/templates/wikisync_admin.html @@ -19,10 +19,6 @@