MCPcopy
hub / github.com/pyload/pyload / check_errors

Method check_errors

module/plugins/internal/SimpleHoster.py:319–425  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

317 self.log_info(_("No errors found"))
318
319 def check_errors(self):
320 self.log_info(_("Checking for link errors..."))
321
322 if not self.data:
323 self.log_warning(_("No data to check"))
324 return
325
326 if search_pattern(self.IP_BLOCKED_PATTERN, self.data):
327 self.fail(_("Connection from your current IP address is not allowed"))
328
329 elif not self.premium:
330 if search_pattern(self.PREMIUM_ONLY_PATTERN, self.data):
331 self.fail(_("File can be downloaded by premium users only"))
332
333 elif search_pattern(self.SIZE_LIMIT_PATTERN, self.data):
334 self.fail(_("File too large for free download"))
335
336 elif self.DL_LIMIT_PATTERN:
337 m = search_pattern(self.DL_LIMIT_PATTERN, self.data)
338 if m is not None:
339 try:
340 errmsg = m.group(1)
341
342 except (AttributeError, IndexError):
343 errmsg = m.group(0)
344
345 finally:
346 errmsg = re.sub(r'<.*?>', " ", errmsg.strip())
347
348 self.info['error'] = errmsg
349 self.log_warning(errmsg)
350
351 wait_time = parse_time(errmsg)
352 self.wait(wait_time, reconnect=wait_time > self.config.get('max_wait', 10) * 60)
353 self.restart(_("Download limit exceeded"))
354
355 if search_pattern(self.HAPPY_HOUR_PATTERN, self.data):
356 self.multiDL = True
357
358 if self.ERROR_PATTERN:
359 m = search_pattern(self.ERROR_PATTERN, self.data)
360 if m is not None:
361 try:
362 errmsg = m.group(1).strip()
363
364 except (AttributeError, IndexError):
365 errmsg = m.group(0).strip()
366
367 finally:
368 errmsg = re.sub(r'<.*?>', " ", errmsg)
369
370 self.info['error'] = errmsg
371 self.log_warning(errmsg)
372
373 if search_pattern(self.TEMP_OFFLINE_PATTERN, errmsg):
374 self.temp_offline()
375
376 elif search_pattern(self.OFFLINE_PATTERN, errmsg):

Callers 2

processMethod · 0.95
check_downloadMethod · 0.95

Calls 15

search_patternFunction · 0.85
parse_timeFunction · 0.85
log_infoMethod · 0.80
log_warningMethod · 0.80
temp_offlineMethod · 0.80
popMethod · 0.80
_Function · 0.50
failMethod · 0.45
waitMethod · 0.45
getMethod · 0.45
restartMethod · 0.45
offlineMethod · 0.45

Tested by

no test coverage detected