MCPcopy Index your code
hub / github.com/pyload/pyload / logs

Function logs

module/web/pyload_app.py:412–491  ·  view source on GitHub ↗
(item=-1)

Source from the content-addressed store, hash-verified

410@route("/logs/:item", method="POST")
411@login_required('LOGS')
412def logs(item=-1):
413 s = request.environ.get('beaker.session')
414
415 perpage = s.get('perpage', 34)
416 reversed = s.get('reversed', False)
417
418 warning = ""
419 conf = PYLOAD.getConfigValue("log","file_log")
420 if not conf:
421 warning = "Warning: File log is disabled, see settings page."
422
423 perpage_p = ((20, 20), (34, 34), (40, 40), (100, 100), (0, 'all'))
424 fro = None
425
426 if request.environ.get('REQUEST_METHOD', "GET") == "POST":
427 try:
428 fro = datetime.strptime(request.forms['from'], '%d.%m.%Y %H:%M:%S')
429 except:
430 pass
431 try:
432 perpage = int(request.forms['perpage'])
433 s['perpage'] = perpage
434
435 reversed = bool(request.forms.get('reversed', False))
436 s['reversed'] = reversed
437 except:
438 pass
439
440 s.save()
441
442 try:
443 item = int(item)
444 except:
445 pass
446
447 log = PYLOAD.getLog()
448 if not perpage:
449 item = 0
450
451 if item < 1 or type(item) is not int:
452 item = 1 if len(log) - perpage + 1 < 1 or perpage == 0 else len(log) - perpage + 1
453
454 if type(fro) is datetime: # we will search for datetime
455 item = -1
456
457 data = []
458 counter = 0
459 perpagecheck = 0
460 for l in log:
461 counter += 1
462
463 if counter >= item:
464 try:
465 date, time, level, message = l.decode("utf8", "ignore").split(" ", 3)
466 dtime = datetime.strptime(date + ' ' + time, '%d.%m.%Y %H:%M:%S')
467 except:
468 dtime = None
469 date = '?'

Callers

nothing calls this directly

Calls 8

render_to_responseFunction · 0.90
splitMethod · 0.80
decodeMethod · 0.80
getMethod · 0.45
getConfigValueMethod · 0.45
saveMethod · 0.45
getLogMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected