added permission wrapper
This commit is contained in:
parent
f7042ed8a7
commit
f186e079da
29 changed files with 860 additions and 788 deletions
|
@ -6,11 +6,14 @@ from modules.globalvars import *
|
|||
import logging
|
||||
import modules.keys as k
|
||||
from modules.settings import Settings as SettingsManager
|
||||
|
||||
settings_manager = SettingsManager()
|
||||
settings = settings_manager.settings
|
||||
|
||||
|
||||
logger = logging.getLogger("goober")
|
||||
|
||||
|
||||
# Get file size and line count for a given file path
|
||||
def get_file_info(file_path):
|
||||
try:
|
||||
|
@ -21,6 +24,7 @@ def get_file_info(file_path):
|
|||
except Exception as e:
|
||||
return {"error": str(e)}
|
||||
|
||||
|
||||
# Load memory data from file, or use default dataset if not loaded yet
|
||||
def load_memory():
|
||||
data = []
|
||||
|
@ -34,36 +38,42 @@ def load_memory():
|
|||
|
||||
return data
|
||||
|
||||
|
||||
# Save memory data to MEMORY_FILE
|
||||
def save_memory(memory):
|
||||
with open(settings["bot"]["active_memory"], "w") as f:
|
||||
json.dump(memory, f, indent=4)
|
||||
|
||||
|
||||
def train_markov_model(memory, additional_data=None):
|
||||
if not memory:
|
||||
return None
|
||||
filtered_memory = [line for line in memory if isinstance(line, str)]
|
||||
if additional_data:
|
||||
filtered_memory.extend(line for line in additional_data if isinstance(line, str))
|
||||
filtered_memory.extend(
|
||||
line for line in additional_data if isinstance(line, str)
|
||||
)
|
||||
if not filtered_memory:
|
||||
return None
|
||||
text = "\n".join(filtered_memory)
|
||||
model = markovify.NewlineText(text, state_size=2)
|
||||
return model
|
||||
|
||||
|
||||
# Save the Markov model to a pickle file
|
||||
def save_markov_model(model, filename='markov_model.pkl'):
|
||||
with open(filename, 'wb') as f:
|
||||
def save_markov_model(model, filename="markov_model.pkl"):
|
||||
with open(filename, "wb") as f:
|
||||
pickle.dump(model, f)
|
||||
logger.info(f"Markov model saved to {filename}.")
|
||||
|
||||
|
||||
# Load the Markov model from a pickle file
|
||||
def load_markov_model(filename='markov_model.pkl'):
|
||||
def load_markov_model(filename="markov_model.pkl"):
|
||||
try:
|
||||
with open(filename, 'rb') as f:
|
||||
with open(filename, "rb") as f:
|
||||
model = pickle.load(f)
|
||||
logger.info(f"{k.model_loaded()} {filename}.{RESET}")
|
||||
return model
|
||||
except FileNotFoundError:
|
||||
logger.error(f"{filename} {k.not_found()}{RESET}")
|
||||
return None
|
||||
return None
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue