MCPcopy
hub / github.com/borgbackup/borg / LegacyRemoteRepository

Class LegacyRemoteRepository

src/borg/legacyremote.py:210–726  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

208
209
210class LegacyRemoteRepository:
211 extra_test_args = [] # type: ignore
212
213 class RPCError(Exception):
214 def __init__(self, unpacked):
215 # unpacked has keys: 'exception_args', 'exception_full', 'exception_short', 'sysinfo'
216 self.unpacked = unpacked
217
218 def get_message(self):
219 return "\n".join(self.unpacked["exception_short"])
220
221 @property
222 def traceback(self):
223 return self.unpacked.get("exception_trace", True)
224
225 @property
226 def exception_class(self):
227 return self.unpacked["exception_class"]
228
229 @property
230 def exception_full(self):
231 return "\n".join(self.unpacked["exception_full"])
232
233 @property
234 def sysinfo(self):
235 return self.unpacked["sysinfo"]
236
237 class RPCServerOutdated(Error):
238 """Borg server is too old for {}. Required version {}"""
239
240 exit_mcode = 84
241
242 @property
243 def method(self):
244 return self.args[0]
245
246 @property
247 def required_version(self):
248 return self.args[1]
249
250 def __init__(self, location, create=False, exclusive=False, lock_wait=None, lock=True, args=None):
251 self.location = self._location = location
252 self.preload_ids = []
253 self.msgid = 0
254 self.rx_bytes = 0
255 self.tx_bytes = 0
256 self.to_send = EfficientCollectionQueue(1024 * 1024, bytes)
257 self.stdin_fd = self.stdout_fd = self.stderr_fd = None
258 self.stderr_received = b"" # incomplete stderr line bytes received (no \n yet)
259 self.chunkid_to_msgids = {}
260 self.ignore_responses = set()
261 self.responses = {}
262 self.async_responses = {}
263 self.shutdown_time = None
264 self.ratelimit = SleepingBandwidthLimiter(args.upload_ratelimit * 1024 if args and args.upload_ratelimit else 0)
265 self.upload_buffer_size_limit = args.upload_buffer * 1024 * 1024 if args and args.upload_buffer else 0
266 self.unpacker = get_limited_unpacker("client")
267 self.server_version = None # we update this after server sends its version

Callers 2

remote_repositoryFunction · 0.85
reopenFunction · 0.85

Calls

no outgoing calls

Tested by 2

remote_repositoryFunction · 0.68
reopenFunction · 0.68