use jstate, add requirements.txt

This commit is contained in:
Evgeny Zinoviev 2021-04-20 00:22:40 +03:00
parent 20b8791c54
commit 837137b3d0
2 changed files with 11 additions and 30 deletions

39
main.py
View File

@ -2,45 +2,24 @@
import requests import requests
import sys import sys
import traceback import traceback
import json
import os import os
from argparse import ArgumentParser from argparse import ArgumentParser
from jstate import JState
def readstate(file: str) -> dict:
if not os.path.exists(file):
default_state = {'seek': 0, 'size': 0}
writestate(file, default_state)
return default_state
with open(file, 'r') as f:
return json.loads(f.read())
def writestate(file: str, state: dict):
with open(file, 'w') as f:
f.write(json.dumps(state))
def main(): def main():
# parse arguments # parse arguments
parser = ArgumentParser() parser = ArgumentParser()
parser.add_argument('--log-file', parser.add_argument('--log-file', type=str, help='A file to read from')
type=str, parser.add_argument('--state-file', default=('%s/.log-checker.state' % os.getenv('HOME')))
help='A file to read from') parser.add_argument('--token', help='Telegram bot token')
parser.add_argument('--state-file', parser.add_argument('--chat-id', type=int, help='Telegram chat id (with bot)')
default=('%s/.log-checker.state' % os.getenv('HOME')))
parser.add_argument('--token',
help='Telegram bot token')
parser.add_argument('--chat-id',
type=int,
help='Telegram chat id (with bot)')
args = parser.parse_args() args = parser.parse_args()
# read file # read file
state = readstate(args.state_file) jstate = JState(args.state_file, default=dict(seek=0, size=0))
state = jstate.read()
fsize = os.path.getsize(args.log_file) fsize = os.path.getsize(args.log_file)
if fsize < state['size']: if fsize < state['size']:
@ -57,7 +36,7 @@ def main():
# save new position # save new position
state['seek'] = f.tell() state['seek'] = f.tell()
state['size'] = fsize state['size'] = fsize
writestate(args.state_file, state) jstate.write(state)
# if got something, send it to telegram # if got something, send it to telegram
if content != '': if content != '':

2
requirements.txt Normal file
View File

@ -0,0 +1,2 @@
requests~=2.25.1
jstate~=0.0.4