(self, site, create_user=True)
| 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 |
no test coverage detected