rev125, Class statistics, OpenSSL disabled on OSX by default because of possible segfault, --disable_openssl command line parameter, Save memory on Connection, Peer and FileRequest objects using slots, Dont store modification time from the far future, Able to query modified files from peer, Allow reannounce in 30secs, Use with command in SiteStorage, Always create dir before write file, PeerCmd shell command to query specific command from peer
This commit is contained in:
parent
71be41ade0
commit
099fe575a0
14 changed files with 126 additions and 23 deletions
|
@ -7,7 +7,9 @@ from util import RateLimit
|
|||
FILE_BUFF = 1024*512
|
||||
|
||||
# Request from me
|
||||
class FileRequest:
|
||||
class FileRequest(object):
|
||||
__slots__ = ("server", "connection", "req_id", "sites", "log", "responded")
|
||||
|
||||
def __init__(self, server, connection):
|
||||
self.server = server
|
||||
self.connection = connection
|
||||
|
@ -53,6 +55,8 @@ class FileRequest:
|
|||
|
||||
elif cmd == "pex":
|
||||
self.actionPex(params)
|
||||
elif cmd == "modified":
|
||||
self.actionModified(params)
|
||||
elif cmd == "ping":
|
||||
self.actionPing()
|
||||
else:
|
||||
|
@ -158,6 +162,17 @@ class FileRequest:
|
|||
self.response({"peers": packed_peers})
|
||||
|
||||
|
||||
# Get modified content.json files since
|
||||
def actionModified(self, params):
|
||||
site = self.sites.get(params["site"])
|
||||
if not site or not site.settings["serving"]: # Site unknown or not serving
|
||||
self.response({"error": "Unknown site"})
|
||||
return False
|
||||
modified_files = {inner_path: content["modified"] for inner_path, content in site.content_manager.contents.iteritems() if content["modified"] > params["since"]}
|
||||
self.response({"modified_files": modified_files})
|
||||
|
||||
|
||||
|
||||
# Send a simple Pong! answer
|
||||
def actionPing(self):
|
||||
self.response("Pong!")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue