TelegramStats/src/out.py

53 lines
950 B
Python

import json
class Output:
name = None
needsFilename = False
def __init__(self, name):
super().__init__()
self.name = name
def open(self, file: str = None):
pass
def close(self):
pass
def print(self, stats, count, dialog):
pass
class STDOUT(Output):
def __init__(self, name: str = "stdout"):
super().__init__(name)
def print(self, stats, count, dialog):
for stat in stats:
print(stat.name, ': ', stat.getValue(count), sep='')
class jsonOut(Output):
file = None
needsFilename = True
outbuff = {}
def __init__(self, name: str = "json"):
super().__init__(name)
def open(self, file):
if file is None:
file = "out.json"
self.file = open(file, "w")
def close(self):
json.dump(self.outbuff, self.file, indent=4)
self.file.close()
def print(self, stats, count, dialog):
jsonpre = {"count": count}
for stat in stats:
jsonpre[stat.name] = stat.getAll(count)
self.outbuff[dialog.id] = jsonpre