(self, address, all_file=True, settings=None)
| 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()) |
no test coverage detected