def install(self, uid, package, version): self._lock.acquire() try: if self._db.has_package(uid, package, None): show_error( self, 'failed to install, cannot install %s again' % package) return else: addr = self._get_repo(package) rpcclient = RPCClient(addr, REPOSITORY_PORT) if not version: version = rpcclient.request('version', package=package) if not version: show_error( self, 'failed to install, invalid version, uid=%s, package=%s' % (uid, package)) return ret = rpcclient.request('download', package=package, version=version) if ret: result = self._install(ret) if result: self._db.set_package(uid, package, version, result) self._print('finished installing %s, version=%s' % (package, version)) return True show_error(self, 'failed to install %s' % package) return finally: self._lock.release()
def install(self, uid, package, version): self._lock.acquire() try: if self._db.has_package(uid, package, None): show_error(self, 'failed to install, cannot install %s again' % package) return else: addr = self._get_repo(package) rpcclient = RPCClient(addr, REPOSITORY_PORT) if not version: version = rpcclient.request('version', package=package) if not version: show_error(self, 'failed to install, invalid version, uid=%s, package=%s' % (uid, package)) return ret = rpcclient.request('download', package=package, version=version) if ret: result = self._install(ret) if result: self._db.set_package(uid, package, version, result) self._print('finished installing %s, version=%s' % (package, version)) return True show_error(self, 'failed to install %s' % package) return finally: self._lock.release()
class Backend(RPCServer): def __init__(self, addr, port): super(Backend, self).__init__(addr, port) self.ftpclient = FTPClient() self.rpcclient = RPCClient('127.0.0.1', 9003) def upload(self, username, name, version, src_type, buf): print 'upload in backend starts!' ret = self.rpcclient.request('upload', [username], {'name':name, 'version':version, 'src_type':src_type, 'buf':buf}) log_debug('Backend.upload()', 'the retrun of Repository.upload() is : %s' % str(ret)) return ret def download_src(self, username, src_name, src_type): ret = self.rpcclient.request('download_src', [username], {'src_name':src_name, 'src_type':src_type}) return ret
class Backend(RPCServer): def __init__(self, addr, port): super(Backend, self).__init__(addr, port) self.ftpclient = FTPClient() self.rpcclient = RPCClient("127.0.0.1", 9003) def upload(self, username, name, version, src_type, buf): print "upload in backend starts!" ret = self.rpcclient.request( "upload", [username], {"name": name, "version": version, "src_type": src_type, "buf": buf} ) log_debug("Backend.upload()", "the retrun of Repository.upload() is : %s" % str(ret)) return ret def download_src(self, username, src_name, src_type): ret = self.rpcclient.request("download_src", [username], {"src_name": src_name, "src_type": src_type}) return ret
class Frontend(RPCServer): def __init__(self, addr, port): super(Frontend, self).__init__(addr, port) self.rpcclient = RPCClient('127.0.0.1', 9002) def matchfunc(self, a, b, c = 3): x = a y = b z = c return x+y+c def upload(self, username, name, version, src_type, buf): #rpcclient = RPCClient('127.0.0.1', 9002) ret = self.rpcclient.request('upload', [username], {'name':name, 'version':version, 'src_type':src_type, 'buf':buf}) log_debug('Frontend.upload()', 'the return of Backend.upload() is : %s' % str(ret)) #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! lack a judgement of returning True or False return True def download_src(self, username, src_name, src_type): ret = self.rpcclient.request('download_src', [username], {'src_name':src_name, 'src_type':src_type}) return ret
def __init__(self, addr, port): super(Backend, self).__init__(addr, port) self.ftpclient = FTPClient() self.rpcclient = RPCClient("127.0.0.1", 9003)
def __init__(self, addr, port): super(Frontend, self).__init__(addr, port) self.rpcclient = RPCClient('127.0.0.1', 9002)
def __init__(self, addr, port): super(Backend, self).__init__(addr, port) self.ftpclient = FTPClient() self.rpcclient = RPCClient('127.0.0.1', 9003)