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

Method cbSiteClone

src/Ui/UiWebsocket.py:953–976  ·  view source on GitHub ↗
(self, to, address, root_inner_path="", target_address=None, redirect=True)

Source from the content-addressed store, hash-verified

951 self.response(to, {"error": "Unknown site: %s" % address})
952
953 def cbSiteClone(self, to, address, root_inner_path="", target_address=None, redirect=True):
954 self.cmd("notification", ["info", _["Cloning site..."]])
955 site = self.server.sites.get(address)
956 response = {}
957 if target_address:
958 target_site = self.server.sites.get(target_address)
959 privatekey = self.user.getSiteData(target_site.address).get("privatekey")
960 site.clone(target_address, privatekey, root_inner_path=root_inner_path)
961 self.cmd("notification", ["done", _["Site source code upgraded!"]])
962 site.publish()
963 response = {"address": target_address}
964 else:
965 # Generate a new site from user's bip32 seed
966 new_address, new_address_index, new_site_data = self.user.getNewSiteData()
967 new_site = site.clone(new_address, new_site_data["privatekey"], address_index=new_address_index, root_inner_path=root_inner_path)
968 new_site.settings["own"] = True
969 new_site.saveSettings()
970 self.cmd("notification", ["done", _["Site cloned"]])
971 if redirect:
972 self.cmd("redirect", "/%s" % new_address)
973 gevent.spawn(new_site.announce)
974 response = {"address": new_address}
975 self.response(to, response)
976 return "ok"
977
978 @flag.no_multiuser
979 def actionSiteClone(self, to, address, root_inner_path="", target_address=None, redirect=True):

Callers 1

actionSiteCloneMethod · 0.95

Calls 8

cmdMethod · 0.95
responseMethod · 0.95
getSiteDataMethod · 0.80
cloneMethod · 0.80
getNewSiteDataMethod · 0.80
saveSettingsMethod · 0.80
getMethod · 0.45
publishMethod · 0.45

Tested by

no test coverage detected