From 538af99e8c371440c82fe1580e8693a477b2279b Mon Sep 17 00:00:00 2001 From: ZeroNet <git@zeronet.io> Date: Wed, 10 Aug 2016 12:52:18 +0200 Subject: [PATCH] Dbrebuild button to sidebar --- plugins/Sidebar/SidebarPlugin.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/plugins/Sidebar/SidebarPlugin.py b/plugins/Sidebar/SidebarPlugin.py index a57e0406..57556ded 100644 --- a/plugins/Sidebar/SidebarPlugin.py +++ b/plugins/Sidebar/SidebarPlugin.py @@ -274,13 +274,14 @@ class UiWebsocketPlugin(object): i = 0 for bad_file, tries in site.bad_files.iteritems(): i += 1 - body.append("""<li class='color-red' title="%s (%s tries)">%s</li>""" % (cgi.escape(bad_file, True), tries, cgi.escape(bad_file, True))) + body.append("""<li class='color-red' title="%s (%s tries)">%s</li>""" % ( + cgi.escape(bad_file, True), tries, cgi.escape(bad_file, True)) + ) if i > 30: break if len(site.bad_files) > 30: - body.append("""<li class='color-red'>+ %s more</li>""" % (len(site.bad_files)-30)) - + body.append("""<li class='color-red'>+ %s more</li>""" % (len(site.bad_files) - 30)) body.append(""" </ul> @@ -300,8 +301,9 @@ class UiWebsocketPlugin(object): body.append(u""" <li> <label>Database <small>({size:.2f}kB, search feeds: {feeds} query)</small></label> - <input type='text' class='text disabled' value="{inner_path}" disabled='disabled'/> + <input type='text' class='text disabled' value="{inner_path}" disabled='disabled' style='width: 180px;'/> <a href='#Reload' id="button-dbreload" class='button'>Reload</a> + <a href='#Rebuild' id="button-dbrebuild" class='button'>Rebuild</a> </li> """.format(**locals())) @@ -588,3 +590,12 @@ class UiWebsocketPlugin(object): self.site.storage.getDb() return self.response(to, "ok") + + def actionDbRebuild(self, to): + permissions = self.getPermissions(to) + if "ADMIN" not in permissions: + return self.response(to, "You don't have permission to run this command") + + self.site.storage.rebuildDb() + + return self.response(to, "ok")