290 msg['msgid']=='LockErrorT')): # in docs |
290 msg['msgid']=='LockErrorT')): # in docs |
291 errors=Errors.BUSY |
291 errors=Errors.BUSY |
292 with self._cond: |
292 with self._cond: |
293 self.errors=self.errors.combine(errors) |
293 self.errors=self.errors.combine(errors) |
294 status, callback=self.__status_unlocked() |
294 status, callback=self.__status_unlocked() |
|
295 |
|
296 elif t=='question_prompt' or t=='question_prompt_retry': |
|
297 self.logger.error('Did not expect to receive question prompt from borg') |
|
298 with self._cond: |
|
299 self.errors=self.errors.combine(Errors.ERRORS) |
|
300 # TODO: terminate org? Send 'NO' reply? |
|
301 |
|
302 elif (t=='question_invalid_answer' or t=='question_accepted_default' |
|
303 or t=='question_accepted_true' or t=='question_accepted_false' |
|
304 or t=='question_env_answer'): |
|
305 pass |
|
306 |
295 else: |
307 else: |
296 self.logger.debug('Unrecognised log entry %s' % str(status)) |
308 self.logger.debug('Unrecognised log entry %s' % str(status)) |
297 |
309 |
298 if callback: |
310 if callback: |
299 callback(status, errorlog=errormsg) |
311 callback(status, errorlog=errormsg) |
338 logger.error('Borg archive list missing "archives" entry') |
350 logger.error('Borg archive list missing "archives" entry') |
339 |
351 |
340 if not ok: |
352 if not ok: |
341 with self._cond: |
353 with self._cond: |
342 self.errors=self.errors.combine(Errors.ERRORS) |
354 self.errors=self.errors.combine(Errors.ERRORS) |
343 |
355 |
344 if latest: |
356 if latest: |
345 self.logger.info('borg info: Previous backup was on %s' % latest.isoformat()) |
357 self.logger.info('borg info: Previous backup was on %s' % latest.isoformat()) |
346 realtime=time.mktime(latest.timetuple()) |
358 realtime=time.mktime(latest.timetuple()) |
347 monotonic=realtime+time.monotonic()-time.time() |
359 monotonic=realtime+time.monotonic()-time.time() |
348 with self._cond: |
360 with self._cond: |