summaryrefslogtreecommitdiff
path: root/src/openwrt_logger.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/openwrt_logger.py')
-rwxr-xr-xsrc/openwrt_logger.py72
1 files changed, 0 insertions, 72 deletions
diff --git a/src/openwrt_logger.py b/src/openwrt_logger.py
deleted file mode 100755
index 82f11ac..0000000
--- a/src/openwrt_logger.py
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/usr/bin/env python3
-import os
-
-from datetime import datetime
-from typing import Tuple, List, Optional
-from argparse import ArgumentParser
-from home.config import config, AppConfigUnit
-from home.database import SimpleState
-from home.api import WebApiClient
-
-
-class OpenwrtLoggerConfig(AppConfigUnit):
- @classmethod
- def schema(cls) -> Optional[dict]:
- return dict(
- database_name_template=dict(type='string', required=True)
- )
-
-
-def parse_line(line: str) -> Tuple[int, str]:
- space_pos = line.index(' ')
-
- date = line[:space_pos]
- rest = line[space_pos+1:]
-
- return (
- int(datetime.strptime(date, "%Y-%m-%dT%H:%M:%S%z").timestamp()),
- rest
- )
-
-
-if __name__ == '__main__':
- parser = ArgumentParser()
- parser.add_argument('--file', type=str, required=True,
- help='openwrt log file')
- parser.add_argument('--access-point', type=int, required=True,
- help='access point number')
-
- arg = config.load_app(OpenwrtLoggerConfig, parser=parser)
-
- state = SimpleState(name=config.app_config['database_name_template'].replace('{ap}', str(arg.access_point)),
- default=dict(seek=0, size=0))
- fsize = os.path.getsize(arg.file)
- if fsize < state['size']:
- state['seek'] = 0
-
- with open(arg.file, 'r') as f:
- if state['seek']:
- # jump to the latest read position
- f.seek(state['seek'])
-
- # read till the end of the file
- content = f.read()
-
- # save new position
- state['seek'] = f.tell()
- state['size'] = fsize
-
- lines: List[Tuple[int, str]] = []
-
- if content != '':
- for line in content.strip().split('\n'):
- if not line:
- continue
-
- try:
- lines.append(parse_line(line))
- except ValueError:
- lines.append((0, line))
-
- api = WebApiClient()
- api.log_openwrt(lines, arg.access_point)