diff --git a/src/Site/SiteManager.py b/src/Site/SiteManager.py index 8a880c9d..2de98dce 100644 --- a/src/Site/SiteManager.py +++ b/src/Site/SiteManager.py @@ -152,6 +152,27 @@ class SiteManager(object): return site + def add(self, address, all_file=False, settings=None): + from .Site import Site + self.sites_changed = int(time.time()) + # Try to find site with differect case + for recover_address, recover_site in list(self.sites.items()): + if recover_address.lower() == address.lower(): + return recover_site + + if not self.isAddress(address): + return False # Not address: %s % address + self.log.debug("Added new site: %s" % address) + config.loadTrackersFile() + site = Site(address, settings=settings) + self.sites[address] = site + if not site.settings["serving"]: # Maybe it was deleted before + site.settings["serving"] = True + site.saveSettings() + if all_file: # Also download user files on first sync + site.download(check_size=True, blind_includes=True) + return site + # Return or create site and start download site files def need(self, address, all_file=True, settings=None): if self.isDomain(address): @@ -159,27 +180,9 @@ class SiteManager(object): if address_resolved: address = address_resolved - from .Site import Site site = self.get(address) if not site: # Site not exist yet - self.sites_changed = int(time.time()) - # Try to find site with differect case - for recover_address, recover_site in list(self.sites.items()): - if recover_address.lower() == address.lower(): - return recover_site - - if not self.isAddress(address): - return False # Not address: %s % address - self.log.debug("Added new site: %s" % address) - config.loadTrackersFile() - site = Site(address, settings=settings) - self.sites[address] = site - if not site.settings["serving"]: # Maybe it was deleted before - site.settings["serving"] = True - site.saveSettings() - if all_file: # Also download user files on first sync - site.download(check_size=True, blind_includes=True) - + site = self.add(address, all_file=all_file, settings=settings) return site def delete(self, address):