MCPcopy Index your code
hub / github.com/HelloZeroNet/ZeroNet / actionFileDelete

Method actionFileDelete

plugins/Bigfile/BigfilePlugin.py:180–198  ·  view source on GitHub ↗
(self, to, inner_path)

Source from the content-addressed store, hash-verified

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")

Callers

nothing calls this directly

Calls 9

hasFilePermissionMethod · 0.80
loadJsonMethod · 0.80
writeJsonMethod · 0.80
loadContentMethod · 0.80
errorMethod · 0.80
isFileMethod · 0.45
getFileInfoMethod · 0.45
getMethod · 0.45
deleteMethod · 0.45

Tested by

no test coverage detected