You are on page 1of 2

class Log:programar un lapiz

def __init__(self, path):

dirname = os.path.dirname(path)

os.makedirs(dirname, exist_ok=True)

f = open(path, "a+")

# Check that the file is newline-terminated

size = os.path.getsize(path)

if size > 0:

f.seek(size - 1)

end = f.read(1)

if end != "\n":

f.write("\n")

self.f = f

self.path = path

def log(self, event):

event["_event_id"] = str(uuid.uuid4())

json.dump(event, self.f)

self.f.write("\n")

def state(self):

state = {"complete": set(), "last": None}

for line in open(self.path):

event = json.loads(line)

if event["type"] == "submit" and event["success"]:

state["complete"].add(event["id"])

state["last"] = event

return state
"""

Here's what the above class is doing:

1. It creates a directory for the log file if it doesn't exist.

2. It opens the log file in append mode.

3. It checks that the log file ends with a newline.

4. It writes a new event to the log file.

5. It reads the log file and

You might also like