Exemple #1
0
class Repository(RPCServer):
    def __init__(self, addr, port):
        super(Repository, self).__init__(addr, port)
        self.ftpclient = FTPClient()
        self.ftpserver = FTPServer()
    
    def upload(self, username, name, version, src_type, buf):
        ret = self.upload_src(name, version, buf)
        self.upload_register(username, name, version, src_type)
        
    def upload_src(self, name, version, buf):
        addr, port = calculate_the_ftpserver_addr()
        ret = self.ftpclient.upload(addr, port, name, version, buf)
        log_debug('Repository.upload()', 'the return of FTPClient.upload() is : %s' % str(ret))
        return ret
    
    def upload_register(self, username, name, version, src_type):
        write_upload_log(username, name, version, src_type)
        
    def install(self, username, name, version, src_type):
        pass
        #return self.download_src(name, version, src_type)
        
    
    def download_src(self, username, src_name, src_type):
        addr, port = calculate_the_ftpserver_addr()
        ret = self.ftpclient.download(addr, port, src_name, src_type)
        return ret
    
    def install_register(self):
        pass
    
    def start(self):
        t = Thread(target=self.run)
        t.start()
        self.ftpserver.run()
        t.join()
Exemple #2
0
 def __init__(self, addr, port):
     super(Repository, self).__init__(addr, port)
     self.ftpclient = FTPClient()
     self.ftpserver = FTPServer()