mirror of
https://git.squeakyrat.moe/faggot-chan/
synced 2026-11-04 18:35:45 +01:00
all of this was vibecoded. i just asked claude to fix all my bugs and he actually overhauled shit woaw. he only changed the name and position of a couple functions so if i want to write more things it should be fine. i love claude i love antrhopic i love vibecoding @claude make me a million dollars in a day make no mistake
This commit is contained in:
1 parent
71616cfc9b
commit
33b2688a2d
6 files changed
+441
-149
No files matched your search
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env python3
|
||||
from pathlib import Path
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
def now_str() -> str:
|
||||
return datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
|
||||
|
||||
def nots(line: str) -> str:
|
||||
if line.startswith("[") and "]" in line:
|
||||
return line.split("]", 1)[1].lstrip()
|
||||
return line
|
||||
|
||||
|
||||
def tail_lines(path: Path, n: int) -> list[str]:
|
||||
# grabs the last n lines without reading the whole file into memory first,
|
||||
# since memory.txt only ever grows and reading it fully every message doesn't scale
|
||||
if n <= 0:
|
||||
return []
|
||||
avg_line_bytes = 200
|
||||
with path.open("rb") as f:
|
||||
f.seek(0, 2)
|
||||
file_size = f.tell()
|
||||
if file_size == 0:
|
||||
return []
|
||||
block_size = n * avg_line_bytes
|
||||
data = b""
|
||||
lines = []
|
||||
while True:
|
||||
seek_pos = max(file_size - block_size, 0)
|
||||
f.seek(seek_pos)
|
||||
data = f.read(file_size - seek_pos)
|
||||
lines = data.splitlines()
|
||||
if len(lines) > n or seek_pos == 0:
|
||||
break
|
||||
block_size *= 2
|
||||
return [l.decode("utf-8", errors="ignore").strip() for l in lines[-n:] if l.strip()]
|
||||
Reference in new issue
Block a user