Переделал получение пиров
This commit is contained in:
		
							parent
							
								
									7473d69488
								
							
						
					
					
						commit
						06a36f066f
					
				@ -320,7 +320,7 @@ class Engine:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        self.pyrrent2http = pyrrent2http.Pyrrent2http()
 | 
					        self.pyrrent2http = pyrrent2http.Pyrrent2http()
 | 
				
			||||||
        self.pyrrent2http.parseFlags(kwargs)
 | 
					        self.pyrrent2http.parseFlags(args)
 | 
				
			||||||
        self.pyrrent2http.startSession()
 | 
					        self.pyrrent2http.startSession()
 | 
				
			||||||
        self.pyrrent2http.startServices()
 | 
					        self.pyrrent2http.startServices()
 | 
				
			||||||
        self.pyrrent2http.addTorrent()
 | 
					        self.pyrrent2http.addTorrent()
 | 
				
			||||||
@ -434,7 +434,7 @@ class Engine:
 | 
				
			|||||||
        :return: List of peers
 | 
					        :return: List of peers
 | 
				
			||||||
        :rtype: list of PeerInfo
 | 
					        :rtype: list of PeerInfo
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        peers = self._decode(self._request('peers', timeout))['peers']
 | 
					        peers = self.pyrrent2http.Peers()['peers']
 | 
				
			||||||
        if peers:
 | 
					        if peers:
 | 
				
			||||||
            return [PeerInfo(**p) for p in peers]
 | 
					            return [PeerInfo(**p) for p in peers]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -540,24 +540,8 @@ def HttpHandlerFactory():
 | 
				
			|||||||
            self.send_response(200)
 | 
					            self.send_response(200)
 | 
				
			||||||
            self.send_header("Content-type", "application/json")
 | 
					            self.send_header("Content-type", "application/json")
 | 
				
			||||||
            self.end_headers()
 | 
					            self.end_headers()
 | 
				
			||||||
            torrentHandle = self.server.root_obj.torrentHandle
 | 
					            peers = self.server.root_obj.Peers()
 | 
				
			||||||
            ret = list()
 | 
					            output = json.dumps(peers)
 | 
				
			||||||
            for peer in torrentHandle.get_peer_info():
 | 
					 | 
				
			||||||
                if peer.flags & peer.connecting or peer.flags & peer.handshake:
 | 
					 | 
				
			||||||
                    continue
 | 
					 | 
				
			||||||
                pi = {
 | 
					 | 
				
			||||||
                       'Ip':            peer.ip,
 | 
					 | 
				
			||||||
                       'Flags':         peer.flags,
 | 
					 | 
				
			||||||
                       'Source':        peer.source,
 | 
					 | 
				
			||||||
                       'UpSpeed':       peer.up_speed/1024,
 | 
					 | 
				
			||||||
                       'DownSpeed':     peer.down_speed/1024,
 | 
					 | 
				
			||||||
                       'TotalDownload': peer.total_download,
 | 
					 | 
				
			||||||
                       'TotalUpload':   peer.total_upload,
 | 
					 | 
				
			||||||
                       'Country':       peer.country,
 | 
					 | 
				
			||||||
                       'Client':        peer.client
 | 
					 | 
				
			||||||
                       }
 | 
					 | 
				
			||||||
                ret.append(pi)
 | 
					 | 
				
			||||||
            output = json.dumps(ret)
 | 
					 | 
				
			||||||
            self.wfile.write(output)
 | 
					            self.wfile.write(output)
 | 
				
			||||||
        def trackersHandler(self):
 | 
					        def trackersHandler(self):
 | 
				
			||||||
            self.send_response(200)
 | 
					            self.send_response(200)
 | 
				
			||||||
@ -565,9 +549,9 @@ def HttpHandlerFactory():
 | 
				
			|||||||
            self.end_headers()
 | 
					            self.end_headers()
 | 
				
			||||||
            ret = list()
 | 
					            ret = list()
 | 
				
			||||||
            try:
 | 
					            try:
 | 
				
			||||||
                self.info = self.server.root_obj.torrentHandler.torrent_file()
 | 
					                info = self.server.root_obj.torrentHandler.torrent_file()
 | 
				
			||||||
            except:
 | 
					            except:
 | 
				
			||||||
                self.info = self.server.root_obj.torrentHandler.get_torrent_info()
 | 
					                info = self.server.root_obj.torrentHandler.get_torrent_info()
 | 
				
			||||||
            for tracker in info.trackers():
 | 
					            for tracker in info.trackers():
 | 
				
			||||||
                pi = {
 | 
					                pi = {
 | 
				
			||||||
                        'Url':                tracker.url,
 | 
					                        'Url':                tracker.url,
 | 
				
			||||||
@ -588,6 +572,7 @@ def HttpHandlerFactory():
 | 
				
			|||||||
                ret.append(pi)
 | 
					                ret.append(pi)
 | 
				
			||||||
            output = json.dumps(ret)
 | 
					            output = json.dumps(ret)
 | 
				
			||||||
            self.wfile.write(output)
 | 
					            self.wfile.write(output)
 | 
				
			||||||
 | 
					        # Вырубаем access-log
 | 
				
			||||||
        def log_message(self, format, *args):
 | 
					        def log_message(self, format, *args):
 | 
				
			||||||
            return
 | 
					            return
 | 
				
			||||||
    return HttpHandler
 | 
					    return HttpHandler
 | 
				
			||||||
@ -892,6 +877,24 @@ class Pyrrent2http(object):
 | 
				
			|||||||
                      }
 | 
					                      }
 | 
				
			||||||
                retFiles['files'].append(fi)
 | 
					                retFiles['files'].append(fi)
 | 
				
			||||||
        return retFiles
 | 
					        return retFiles
 | 
				
			||||||
 | 
					    def Peers(self):
 | 
				
			||||||
 | 
					        peers = {'peers': []}
 | 
				
			||||||
 | 
					        for peer in self.torrentHandle.get_peer_info():
 | 
				
			||||||
 | 
					            if peer.flags & peer.connecting or peer.flags & peer.handshake:
 | 
				
			||||||
 | 
					                continue
 | 
				
			||||||
 | 
					            pi = {
 | 
				
			||||||
 | 
					                   'Ip':            peer.ip,
 | 
				
			||||||
 | 
					                   'Flags':         peer.flags,
 | 
				
			||||||
 | 
					                   'Source':        peer.source,
 | 
				
			||||||
 | 
					                   'UpSpeed':       peer.up_speed/1024,
 | 
				
			||||||
 | 
					                   'DownSpeed':     peer.down_speed/1024,
 | 
				
			||||||
 | 
					                   'TotalDownload': peer.total_download,
 | 
				
			||||||
 | 
					                   'TotalUpload':   peer.total_upload,
 | 
				
			||||||
 | 
					                   'Country':       peer.country,
 | 
				
			||||||
 | 
					                   'Client':        peer.client
 | 
				
			||||||
 | 
					                   }
 | 
				
			||||||
 | 
					            peers['peers'].append(pi)
 | 
				
			||||||
 | 
					        return peers
 | 
				
			||||||
    def stats(self):
 | 
					    def stats(self):
 | 
				
			||||||
        status = self.torrentHandle.status()
 | 
					        status = self.torrentHandle.status()
 | 
				
			||||||
        dhtStatusStr = ''
 | 
					        dhtStatusStr = ''
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user