MCPcopy Create free account
hub / github.com/dot-agent/nextpy / Log

Class Log

nextpy/ai/engine/_program.py:96–133  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

94
95
96class Log:
97 def __init__(self) -> None:
98 self._entries = []
99
100 def append(self, entry):
101 if not hasattr(entry, "time"):
102 entry["time"] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
103 self._entries.append(entry)
104
105 def __str__(self) -> str:
106 string_entries = []
107 for entry in self._entries:
108 type_str = "[" + entry.get("type", "") + "]"
109 string_entries.append(
110 f"{entry.get('time', '')}{type_str: >10s}{entry.get('name', ''): >15s}: "
111 + str(
112 {
113 k: v
114 for k, v in entry.items()
115 if k not in ["type", "name", "time"]
116 }
117 )
118 )
119 return "\n".join(string_entries)
120
121 def __repr__(self) -> str:
122 return str(self)
123
124 def __len__(self) -> int:
125 return len(self._entries)
126
127 def __getitem__(self, key):
128 return self._entries[key]
129
130 def copy(self):
131 new_log = Log()
132 new_log._entries = [copy.copy(v) for v in self._entries]
133 return new_log
134
135
136class Program:

Callers 2

copyMethod · 0.70
__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected