Files

54 lines
1.6 KiB
Python

import os
import re
import hashlib
import json
import time
class CodeCheck(object):
def __init__(self, timestamp=None,
version=None, status_ok=None,
logfile=None, cmdline=None):
self.version = version
self.status_ok = status_ok
self.logfile = logfile
self.cmdline = cmdline
self.timestamp = timestamp if timestamp is not None else time.time()
class BlockCheck(object):
@staticmethod
def from_json_file(json_filename=None):
if json_filename is None:
json_filename = "block_checks.json"
if os.path.isfile(json_filename):
with open(json_filename, u'r') as f:
block_checks_json = json.load(f)
return BlockCheck(**block_checks_json)
return None
def __init__(self, text_hash, text_hash_short,
timestamp=None,
status_ok=None,
checks=None):
self.text_hash: str = text_hash
self.text_hash_short: str = text_hash_short
self.timestamp = timestamp if timestamp is not None else time.time()
self.status_ok = status_ok
self.checks = dict()
def to_json_file(self, json_filename=None):
block_checks = self.__dict__
if json_filename is None:
json_filename = "block_checks.json"
with open(json_filename, u'w') as f:
json.dump(block_checks, f, indent=4, default=lambda __o: __o.__dict__)
def add_check(self, check_type : str, code_check : CodeCheck):
self.checks[check_type] = code_check