diff options
author | Evgeny Zinoviev <me@ch1p.io> | 2021-04-15 16:47:36 +0300 |
---|---|---|
committer | Evgeny Zinoviev <me@ch1p.io> | 2021-04-15 16:47:38 +0300 |
commit | 1e5a2df1a02b2205eaf211fbbdef819263ba9cc9 (patch) | |
tree | e85770f29d3d8eefa3ee1a66c84e0241824a30dc | |
parent | dcf2cbdbeec56a8196b2b4d34848c85ab1530583 (diff) |
keep track of file size
-rwxr-xr-x | main.py | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -10,7 +10,7 @@ from argparse import ArgumentParser def readstate(file: str) -> dict: if not os.path.exists(file): - default_state = {'seek': 0} + default_state = {'seek': 0, 'size': 0} writestate(file, default_state) return default_state @@ -41,15 +41,22 @@ def main(): # read file state = readstate(args.state_file) + fsize = os.path.getsize(args.log_file) + + if fsize < state['size']: + state['seek'] = 0 + with open(args.log_file, 'r') as f: - # jump to the latest readed position - f.seek(state['seek']) + if state['seek']: + # jump to the latest readed 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 writestate(args.state_file, state) # if got something, send it to telegram |