(self, to, address, root_inner_path="", target_address=None, redirect=True)
| 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): |
no test coverage detected