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

Method need

src/Site/SiteManager.py:156–183  ·  view source on GitHub ↗
(self, address, all_file=True, settings=None)

Source from the content-addressed store, hash-verified

154
155 # Return or create site and start download site files
156 def need(self, address, all_file=True, settings=None):
157 if self.isDomain(address):
158 address_resolved = self.resolveDomain(address)
159 if address_resolved:
160 address = address_resolved
161
162 from .Site import Site
163 site = self.get(address)
164 if not site: # Site not exist yet
165 self.sites_changed = int(time.time())
166 # Try to find site with differect case
167 for recover_address, recover_site in list(self.sites.items()):
168 if recover_address.lower() == address.lower():
169 return recover_site
170
171 if not self.isAddress(address):
172 return False # Not address: %s % address
173 self.log.debug("Added new site: %s" % address)
174 config.loadTrackersFile()
175 site = Site(address, settings=settings)
176 self.sites[address] = site
177 if not site.settings["serving"]: # Maybe it was deleted before
178 site.settings["serving"] = True
179 site.saveSettings()
180 if all_file: # Also download user files on first sync
181 site.download(check_size=True, blind_includes=True)
182
183 return site
184
185 def delete(self, address):
186 self.sites_changed = int(time.time())

Callers 5

actionSiteAddMethod · 0.45
actionWrapperMethod · 0.45
actionSiteMediaMethod · 0.45
actionSiteAddMethod · 0.45
cloneMethod · 0.45

Calls 9

isDomainMethod · 0.95
resolveDomainMethod · 0.95
getMethod · 0.95
isAddressMethod · 0.95
saveSettingsMethod · 0.95
downloadMethod · 0.95
SiteClass · 0.90
itemsMethod · 0.80
loadTrackersFileMethod · 0.80

Tested by

no test coverage detected