MCPcopy
hub / github.com/HelloZeroNet/ZeroNet / formatSiteInfo

Method formatSiteInfo

src/Ui/UiWebsocket.py:242–281  ·  view source on GitHub ↗
(self, site, create_user=True)

Source from the content-addressed store, hash-verified

240
241 # Format site info
242 def formatSiteInfo(self, site, create_user=True):
243 content = site.content_manager.contents.get("content.json", {})
244 if content: # Remove unnecessary data transfer
245 content = content.copy()
246 content["files"] = len(content.get("files", {}))
247 content["files_optional"] = len(content.get("files_optional", {}))
248 content["includes"] = len(content.get("includes", {}))
249 if "sign" in content:
250 del(content["sign"])
251 if "signs" in content:
252 del(content["signs"])
253 if "signers_sign" in content:
254 del(content["signers_sign"])
255
256 settings = site.settings.copy()
257 del settings["wrapper_key"] # Dont expose wrapper key
258 del settings["auth_key"] # Dont send auth key twice
259
260 ret = {
261 "auth_key": self.site.settings["auth_key"], # Obsolete, will be removed
262 "auth_address": self.user.getAuthAddress(site.address, create=create_user),
263 "cert_user_id": self.user.getCertUserId(site.address),
264 "address": site.address,
265 "address_short": site.address_short,
266 "settings": settings,
267 "content_updated": site.content_updated,
268 "bad_files": len(site.bad_files),
269 "size_limit": site.getSizeLimit(),
270 "next_size_limit": site.getNextSizeLimit(),
271 "peers": max(site.settings.get("peers", 0), len(site.peers)),
272 "started_task_num": site.worker_manager.started_task_num,
273 "tasks": len(site.worker_manager.tasks),
274 "workers": len(site.worker_manager.workers),
275 "content": content
276 }
277 if site.settings["own"]:
278 ret["privatekey"] = bool(self.user.getSiteData(site.address, create=create_user).get("privatekey"))
279 if site.isServing() and content:
280 ret["peers"] += 1 # Add myself if serving
281 return ret
282
283 def formatServerInfo(self):
284 import main

Callers 3

eventMethod · 0.95
actionSiteInfoMethod · 0.95
actionSiteListMethod · 0.95

Calls 8

getAuthAddressMethod · 0.80
getCertUserIdMethod · 0.80
getSizeLimitMethod · 0.80
getNextSizeLimitMethod · 0.80
getSiteDataMethod · 0.80
isServingMethod · 0.80
getMethod · 0.45
copyMethod · 0.45

Tested by

no test coverage detected