Revision 7421df8e

b/lib/cli.py
3016 3016
    self.jobs = []
3017 3017
    self.opts = opts
3018 3018
    self.feedback_fn = feedback_fn
3019
    if feedback_fn:
3020
      self._info_fn = feedback_fn
3021
    else:
3022
      self._info_fn = ToStdout
3019 3023
    self._counter = itertools.count()
3020 3024

  
3021 3025
  @staticmethod
......
3097 3101
    if self.verbose:
3098 3102
      ok_jobs = [row[2] for row in self.jobs if row[1]]
3099 3103
      if ok_jobs:
3100
        ToStdout("Submitted jobs %s", utils.CommaJoin(ok_jobs))
3104
        self._info_fn("Submitted jobs %s", utils.CommaJoin(ok_jobs))
3101 3105

  
3102 3106
    # first, remove any non-submitted jobs
3103 3107
    self.jobs, failures = compat.partition(self.jobs, lambda x: x[1])
3104 3108
    for idx, _, jid, name in failures:
3105
      ToStderr("Failed to submit job%s: %s", self._IfName(name, " for %s"), jid)
3109
      self._info_fn("Failed to submit job%s: %s",
3110
                    self._IfName(name, " for %s"), jid)
3106 3111
      results.append((idx, False, jid))
3107 3112

  
3108 3113
    while self.jobs:
3109 3114
      (idx, _, jid, name) = self._ChooseJob()
3110
      ToStdout("Waiting for job %s%s ...", jid, self._IfName(name, " for %s"))
3115
      self._info_fn("Waiting for job %s%s ...",
3116
                    jid, self._IfName(name, " for %s"))
3111 3117
      try:
3112 3118
        job_result = PollJob(jid, cl=self.cl, feedback_fn=self.feedback_fn)
3113 3119
        success = True
3114 3120
      except errors.JobLost, err:
3115 3121
        _, job_result = FormatError(err)
3116
        ToStderr("Job %s%s has been archived, cannot check its result",
3117
                 jid, self._IfName(name, " for %s"))
3122
        self._info_fn("Job %s%s has been archived, cannot check its result",
3123
                      jid, self._IfName(name, " for %s"))
3118 3124
        success = False
3119 3125
      except (errors.GenericError, luxi.ProtocolError), err:
3120 3126
        _, job_result = FormatError(err)
3121 3127
        success = False
3122 3128
        # the error message will always be shown, verbose or not
3123
        ToStderr("Job %s%s has failed: %s",
3124
                 jid, self._IfName(name, " for %s"), job_result)
3129
        self._info_fn("Job %s%s has failed: %s",
3130
                      jid, self._IfName(name, " for %s"), job_result)
3125 3131

  
3126 3132
      results.append((idx, success, job_result))
3127 3133

  
......
3145 3151
        self.SubmitPending()
3146 3152
      for _, status, result, name in self.jobs:
3147 3153
        if status:
3148
          ToStdout("%s: %s", result, name)
3154
          self._info_fn("%s: %s", result, name)
3149 3155
        else:
3150
          ToStderr("Failure for %s: %s", name, result)
3156
          self._info_fn("Failure for %s: %s", name, result)
3151 3157
      return [row[1:3] for row in self.jobs]
3152 3158

  
3153 3159

  

Also available in: Unified diff