(self, to, inner_path)
| 178 | self.response(to, "ok") |
| 179 | |
| 180 | def actionFileDelete(self, to, inner_path): |
| 181 | piecemap_inner_path = inner_path + ".piecemap.msgpack" |
| 182 | if self.hasFilePermission(inner_path) and self.site.storage.isFile(piecemap_inner_path): |
| 183 | # Also delete .piecemap.msgpack file if exists |
| 184 | self.log.debug("Deleting piecemap: %s" % piecemap_inner_path) |
| 185 | file_info = self.site.content_manager.getFileInfo(piecemap_inner_path) |
| 186 | if file_info: |
| 187 | content_json = self.site.storage.loadJson(file_info["content_inner_path"]) |
| 188 | relative_path = file_info["relative_path"] |
| 189 | if relative_path in content_json.get("files_optional", {}): |
| 190 | del content_json["files_optional"][relative_path] |
| 191 | self.site.storage.writeJson(file_info["content_inner_path"], content_json) |
| 192 | self.site.content_manager.loadContent(file_info["content_inner_path"], add_bad_files=False, force=True) |
| 193 | try: |
| 194 | self.site.storage.delete(piecemap_inner_path) |
| 195 | except Exception as err: |
| 196 | self.log.error("File %s delete error: %s" % (piecemap_inner_path, err)) |
| 197 | |
| 198 | return super(UiWebsocketPlugin, self).actionFileDelete(to, inner_path) |
| 199 | |
| 200 | |
| 201 | @PluginManager.registerTo("ContentManager") |
nothing calls this directly
no test coverage detected