Esempio n. 1
0
    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
Esempio n. 2
0
 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
Esempio n. 3
0
 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
Esempio n. 4
0
                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")