(item=-1)
| 410 | @route("/logs/:item", method="POST") |
| 411 | @login_required('LOGS') |
| 412 | def 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 = '?' |
nothing calls this directly
no test coverage detected