def run(self, options, args): if not self._checkArgs(args): return error.ERROR_NO_SUCH_PACKAGE_NAME package_name = args[0] io.log('upload', 'checking %s ...' % package_name) if not self._checkRpmFileAccess(package_name): return error.ERROR_ACCESS_PACKAGE_ERROR if not self._checkRpmInfo(package_name): return error.ERROR_INVALID_PACKAGE is_login_succeed, client = self.login(options) if not is_login_succeed: return error.ERROR_AUTH_FAILED io.log('upload', 'start upload %s ...' % package_name) package_info = utils.getPackageInfoByName(package_name) pdu = self._getUploadPdu(package_info, package_name) if not client.invokeRemote(pdu): return error.ERROR_PDU_ERROR if not self._uploadPackage(client, package_name): return error.ERROR_PDU_ERROR return True
def _parseResponse(self, response, output=True): error_code = response.get("error_code") msg = response.get("msg") if error_code == net.PDU_ERROR_SUCCESSED: if output: io.log('', msg) return True else: if output: io.error('0x%08X' % error_code, msg) return False
text = text + i.encode('utf8') text = text + u'--------------------------------------------------------\n' for i in install_info: text = text + i.encode('utf8') except Exception, _ex: io.error("rpm info error", str(_ex)) pass subject = MAIL_SUBJECT_TEMPLATE % (self.operator_name, u"upload", package_name, version, release, os_version, arch, u"", u"") sendMail(config.ServerConfig().mail_sender, config.ServerConfig().mail_receiver, subject, text) upload_branch_dirname = self.cfg.branches[self.cfg.upload_branch] # put to queue self.app.queue_createrepo.put(self._makePackagePath(self.cfg.upload_branch, release, os_version, arch)) io.log('upload', '%s successed.' % dest_file_name) return True, self._makeResponsePdu(net.PDU_ERROR_SUCCESSED, "upload successed!") def procSetbranch(self, skt, first_pdu): pdu = first_pdu # check package_name package_name = pdu.get("package_name") if not utils.isValidPackageName(package_name): return False, self._makeResponsePdu(net.PDU_ERROR_SETBRANCHERR, "package name is not a valid value.") # check version version = pdu.get("version") if not utils.isValidVersion(version): return False, self._makeResponsePdu(net.PDU_ERROR_SETBRANCHERR, "version is not a valid value.") # check release release = pdu.get("release")