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()
def __init__(self, addr, port): super(Repository, self).__init__(addr, port) self.ftpclient = FTPClient() self.ftpserver = FTPServer()