Disable all site serving using a global offline argument

This commit is contained in:
shortcutme 2019-04-15 15:06:25 +02:00
parent f6e3a74567
commit 998ec3eb4f
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE
9 changed files with 26 additions and 19 deletions

View file

@ -103,7 +103,7 @@ class FileRequest(object):
# Update a site file request
def actionUpdate(self, params):
site = self.sites.get(params["site"])
if not site or not site.settings["serving"]: # Site unknown or not serving
if not site or not site.isServing(): # Site unknown or not serving
self.response({"error": "Unknown site"})
self.connection.badAction(1)
self.connection.badAction(5)
@ -192,7 +192,7 @@ class FileRequest(object):
# Send file content request
def handleGetFile(self, params, streaming=False):
site = self.sites.get(params["site"])
if not site or not site.settings["serving"]: # Site unknown or not serving
if not site or not site.isServing(): # Site unknown or not serving
self.response({"error": "Unknown site"})
self.connection.badAction(5)
return False
@ -270,7 +270,7 @@ class FileRequest(object):
# Peer exchange request
def actionPex(self, params):
site = self.sites.get(params["site"])
if not site or not site.settings["serving"]: # Site unknown or not serving
if not site or not site.isServing(): # Site unknown or not serving
self.response({"error": "Unknown site"})
self.connection.badAction(5)
return False
@ -321,7 +321,7 @@ class FileRequest(object):
# Get modified content.json files since
def actionListModified(self, params):
site = self.sites.get(params["site"])
if not site or not site.settings["serving"]: # Site unknown or not serving
if not site or not site.isServing(): # Site unknown or not serving
self.response({"error": "Unknown site"})
self.connection.badAction(5)
return False
@ -336,7 +336,7 @@ class FileRequest(object):
def actionGetHashfield(self, params):
site = self.sites.get(params["site"])
if not site or not site.settings["serving"]: # Site unknown or not serving
if not site or not site.isServing(): # Site unknown or not serving
self.response({"error": "Unknown site"})
self.connection.badAction(5)
return False
@ -364,7 +364,7 @@ class FileRequest(object):
def actionFindHashIds(self, params):
site = self.sites.get(params["site"])
s = time.time()
if not site or not site.settings["serving"]: # Site unknown or not serving
if not site or not site.isServing(): # Site unknown or not serving
self.response({"error": "Unknown site"})
self.connection.badAction(5)
return False
@ -392,7 +392,7 @@ class FileRequest(object):
def actionSetHashfield(self, params):
site = self.sites.get(params["site"])
if not site or not site.settings["serving"]: # Site unknown or not serving
if not site or not site.isServing(): # Site unknown or not serving
self.response({"error": "Unknown site"})
self.connection.badAction(5)
return False

View file

@ -216,7 +216,7 @@ class FileServer(ConnectionServer):
# Check site file integrity
def checkSite(self, site, check_files=False):
if site.settings["serving"]:
if site.isServing():
site.announce(mode="startup") # Announce site to tracker
site.update(check_files=check_files) # Update site's content.json and download changed files
site.sendMyHashfield()
@ -243,7 +243,7 @@ class FileServer(ConnectionServer):
check_pool = gevent.pool.Pool(5)
# Check sites integrity
for site in sorted(list(self.sites.values()), key=lambda site: site.settings.get("modified", 0), reverse=True):
if not site.settings["serving"]:
if not site.isServing():
continue
check_thread = check_pool.spawn(self.checkSite, site, check_files) # Check in new thread
time.sleep(2)
@ -264,7 +264,7 @@ class FileServer(ConnectionServer):
)
for address, site in list(self.sites.items()):
if not site.settings["serving"]:
if not site.isServing():
continue
if not startup:
@ -274,7 +274,7 @@ class FileServer(ConnectionServer):
peers_protected = set([])
for address, site in list(self.sites.items()):
if not site.settings["serving"]:
if not site.isServing():
continue
if site.peers:
@ -314,7 +314,7 @@ class FileServer(ConnectionServer):
config.loadTrackersFile()
s = time.time()
for address, site in list(self.sites.items()):
if not site.settings["serving"]:
if not site.isServing():
continue
gevent.spawn(self.announceSite, site).join(timeout=10)
time.sleep(1)