forked from gooberinc/goober
fuckass git
This commit is contained in:
parent
d3f3e64a96
commit
ee4f294b36
7 changed files with 52 additions and 89 deletions
|
@ -3,17 +3,19 @@ import os
|
|||
import modules.globalvars as gv
|
||||
from modules.volta.main import _
|
||||
from modules.markovmemory import get_file_info
|
||||
import logging
|
||||
logger = logging.getLogger("goober")
|
||||
|
||||
# Ping the server to check if it's alive and send some info
|
||||
def ping_server():
|
||||
if gv.ALIVEPING == "false":
|
||||
# If pinging is disabled, print message and set environment variable
|
||||
print(f"{gv.YELLOW}{(_('pinging_disabled'))}{gv.RESET}")
|
||||
print(f"{gv.YELLOW}{(_('pinging_disabled'))}")
|
||||
os.environ['gooberauthenticated'] = 'No'
|
||||
return
|
||||
# Get server alert message
|
||||
goobres = requests.get(f"{gv.VERSION_URL}/alert")
|
||||
print(f"{(_('goober_server_alert'))}{goobres.text}")
|
||||
logger.info(f"{(_('goober_server_alert'))}{goobres.text}")
|
||||
# Gather file info for payload
|
||||
file_info = get_file_info(gv.MEMORY_FILE)
|
||||
payload = {
|
||||
|
@ -28,15 +30,15 @@ def ping_server():
|
|||
response = requests.post(gv.VERSION_URL+"/ping", json=payload)
|
||||
if response.status_code == 200:
|
||||
# Success: print message and set environment variable
|
||||
print(f"{gv.GREEN}{(_('goober_ping_success')).format(NAME=gv.NAME)}{gv.RESET}")
|
||||
logger.info(f"{(_('goober_ping_success')).format(NAME=gv.NAME)}")
|
||||
os.environ['gooberauthenticated'] = 'Yes'
|
||||
else:
|
||||
# Failure: print error and set environment variable
|
||||
print(f"{gv.RED}{(_('goober_ping_fail'))} {response.status_code}{gv.RESET}")
|
||||
logger.error(f"{(_('goober_ping_fail'))} {response.status_code}")
|
||||
os.environ['gooberauthenticated'] = 'No'
|
||||
except Exception as e:
|
||||
# Exception: print error and set environment variable
|
||||
print(f"{gv.RED}{(_('goober_ping_fail2'))} {str(e)}{gv.RESET}")
|
||||
logger.error(f"{(_('goober_ping_fail2'))} {str(e)}")
|
||||
os.environ['gooberauthenticated'] = 'No'
|
||||
|
||||
# Check if a given name is available for registration
|
||||
|
@ -52,11 +54,11 @@ def is_name_available(NAME):
|
|||
return data.get("available", False)
|
||||
else:
|
||||
# Print error if request failed
|
||||
print(f"{(_('name_check'))}", response.json())
|
||||
logger.e(f"{(_('name_check'))}", response.json())
|
||||
return False
|
||||
except Exception as e:
|
||||
# Print exception if request failed
|
||||
print(f"{(_('name_check2'))}", e)
|
||||
logger.error(f"{(_('name_check2'))}", e)
|
||||
return False
|
||||
|
||||
# Register a new name with the server
|
||||
|
@ -70,7 +72,7 @@ def register_name(NAME):
|
|||
if os.getenv("gooberTOKEN"):
|
||||
return
|
||||
# Name taken: print error and exit
|
||||
print(f"{gv.RED}{(_('name_taken'))}{gv.RESET}")
|
||||
logger.critical(f"{(_('name_taken'))}")
|
||||
quit()
|
||||
# Register the name
|
||||
response = requests.post(f"{gv.VERSION_URL}/register", json={"name": NAME}, headers={"Content-Type": "application/json"})
|
||||
|
@ -79,18 +81,18 @@ def register_name(NAME):
|
|||
token = data.get("token")
|
||||
if not os.getenv("gooberTOKEN"):
|
||||
# Print instructions to add token and exit
|
||||
print(f"{gv.GREEN}{(_('add_token')).format(token=token)} gooberTOKEN=<token>.{gv.gv.RESET}")
|
||||
logger.info(f"{(_('add_token')).format(token=token)} gooberTOKEN=<token>.")
|
||||
quit()
|
||||
else:
|
||||
print(f"{gv.GREEN}{gv.gv.RESET}")
|
||||
return token
|
||||
else:
|
||||
# Print error if registration failed
|
||||
print(f"{gv.RED}{(_('token_exists')).format()}{gv.RESET}", response.json())
|
||||
logger.critical(f"{gv.RED}{(_('token_exists')).format()}", response.json())
|
||||
return None
|
||||
except Exception as e:
|
||||
# Print exception if registration failed
|
||||
print(f"{gv.RED}{(_('registration_error')).format()}{gv.RESET}", e)
|
||||
logger.critical(f"{gv.RED}{(_('registration_error')).format()}", e)
|
||||
return None
|
||||
|
||||
# Attempt to register the name at module load
|
||||
|
|
|
@ -41,5 +41,5 @@ latest_version = "0.0.0"
|
|||
local_version = "2.1.3"
|
||||
os.environ['gooberlocal_version'] = local_version
|
||||
REACT = os.getenv("REACT")
|
||||
beta = False # this makes goober think its a beta version, so it will not update to the latest stable version or run any version checks
|
||||
beta = True # this makes goober think its a beta version, so it will not update to the latest stable version or run any version checks
|
||||
|
|
@ -4,7 +4,8 @@ import markovify
|
|||
import pickle
|
||||
from modules.globalvars import *
|
||||
from modules.volta.main import _
|
||||
|
||||
import logging
|
||||
logger = logging.getLogger("goober")
|
||||
# Get file size and line count for a given file path
|
||||
def get_file_info(file_path):
|
||||
try:
|
||||
|
@ -47,15 +48,15 @@ def train_markov_model(memory, additional_data=None):
|
|||
def save_markov_model(model, filename='markov_model.pkl'):
|
||||
with open(filename, 'wb') as f:
|
||||
pickle.dump(model, f)
|
||||
print(f"Markov model saved to {filename}.")
|
||||
logger.info(f"Markov model saved to {filename}.")
|
||||
|
||||
# Load the Markov model from a pickle file
|
||||
def load_markov_model(filename='markov_model.pkl'):
|
||||
try:
|
||||
with open(filename, 'rb') as f:
|
||||
model = pickle.load(f)
|
||||
print(f"{GREEN}{_('model_loaded')} {filename}.{RESET}")
|
||||
logger.info(f"{_('model_loaded')} {filename}.{RESET}")
|
||||
return model
|
||||
except FileNotFoundError:
|
||||
print(f"{RED}{filename} {_('not_found')}{RESET}")
|
||||
logger.error(f"{filename} {_('not_found')}{RESET}")
|
||||
return None
|
|
@ -6,17 +6,20 @@ import spacy
|
|||
from spacy.tokens import Doc
|
||||
from spacytextblob.spacytextblob import SpacyTextBlob
|
||||
|
||||
import logging
|
||||
logger = logging.getLogger("goober")
|
||||
|
||||
|
||||
def check_resources():
|
||||
try:
|
||||
nlp = spacy.load("en_core_web_sm")
|
||||
except OSError:
|
||||
print((_('spacy_model_not_found')))
|
||||
logging.critical((_('spacy_model_not_found')))
|
||||
spacy.cli.download("en_core_web_sm")
|
||||
nlp = spacy.load("en_core_web_sm")
|
||||
if "spacytextblob" not in nlp.pipe_names:
|
||||
nlp.add_pipe("spacytextblob")
|
||||
print((_('spacy_initialized')))
|
||||
logger.info((_('spacy_initialized')))
|
||||
|
||||
check_resources()
|
||||
|
||||
|
@ -28,8 +31,8 @@ def is_positive(sentence):
|
|||
doc = nlp(sentence)
|
||||
sentiment_score = doc._.polarity # from spacytextblob
|
||||
|
||||
debug_message = f"{DEBUG}{(_('sentence_positivity'))} {sentiment_score}{RESET}"
|
||||
print(debug_message)
|
||||
debug_message = f"{(_('sentence_positivity'))} {sentiment_score}{RESET}"
|
||||
logger.debug(debug_message)
|
||||
|
||||
return sentiment_score > 0.6 # had to raise the bar because it kept saying "death to jews" was fine and it kept reacting to them
|
||||
|
||||
|
|
|
@ -3,7 +3,8 @@ from modules.globalvars import *
|
|||
import requests
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
import logging
|
||||
logger = logging.getLogger("goober")
|
||||
launched = False
|
||||
|
||||
# Run a shell command and return its output
|
||||
|
@ -27,11 +28,11 @@ def auto_update(branch='main', remote='origin'):
|
|||
if is_remote_ahead(branch, remote):
|
||||
print(_( "remote_ahead").format(remote=remote, branch=branch))
|
||||
pull_result = run_cmd(f'git pull {remote} {branch}')
|
||||
print(pull_result)
|
||||
print(_( "please_restart"))
|
||||
logger.info(pull_result)
|
||||
logger.info(_( "please_restart"))
|
||||
sys.exit(0)
|
||||
else:
|
||||
print(_( "local_ahead").format(remote=remote, branch=branch))
|
||||
logger.info(_( "local_ahead").format(remote=remote, branch=branch))
|
||||
|
||||
# Fetch the latest version info from the update server
|
||||
def get_latest_version_info():
|
||||
|
@ -40,10 +41,10 @@ def get_latest_version_info():
|
|||
if response.status_code == 200:
|
||||
return response.json()
|
||||
else:
|
||||
print(f"{RED}{_( 'version_error')} {response.status_code}{RESET}")
|
||||
logger.error(f"{RED}{_( 'version_error')} {response.status_code}{RESET}")
|
||||
return None
|
||||
except requests.RequestException as e:
|
||||
print(f"{RED}{_( 'version_error')} {e}{RESET}")
|
||||
logger.error(f"{RED}{_( 'version_error')} {e}{RESET}")
|
||||
return None
|
||||
|
||||
# Check if an update is available and perform update if needed
|
||||
|
@ -54,7 +55,7 @@ def check_for_update():
|
|||
|
||||
latest_version_info = get_latest_version_info()
|
||||
if not latest_version_info:
|
||||
print(f"{_('fetch_update_fail')}")
|
||||
logger.error(f"{_('fetch_update_fail')}")
|
||||
return None, None
|
||||
|
||||
latest_version = latest_version_info.get("version")
|
||||
|
@ -62,25 +63,25 @@ def check_for_update():
|
|||
download_url = latest_version_info.get("download_url")
|
||||
|
||||
if not latest_version or not download_url:
|
||||
print(f"{RED}{_(LOCALE, 'invalid_server')}{RESET}")
|
||||
logger.error(f"{RED}{_(LOCALE, 'invalid_server')}{RESET}")
|
||||
return None, None
|
||||
|
||||
# Check if local_version is valid
|
||||
if local_version == "0.0.0" or None:
|
||||
print(f"{RED}{_('cant_find_local_version')}{RESET}")
|
||||
logger.error(f"{RED}{_('cant_find_local_version')}{RESET}")
|
||||
return
|
||||
|
||||
# Compare local and latest versions
|
||||
if local_version < latest_version:
|
||||
print(f"{YELLOW}{_('new_version').format(latest_version=latest_version, local_version=local_version)}{RESET}")
|
||||
print(f"{YELLOW}{_('changelog').format(VERSION_URL=VERSION_URL)}{RESET}")
|
||||
logger.info(f"{YELLOW}{_('new_version').format(latest_version=latest_version, local_version=local_version)}{RESET}")
|
||||
logger.info(f"{YELLOW}{_('changelog').format(VERSION_URL=VERSION_URL)}{RESET}")
|
||||
auto_update()
|
||||
elif beta == True:
|
||||
print(f"{YELLOW}You are running an \"unstable\" version of Goober, do not expect it to work properly.\nVersion {local_version}{RESET}")
|
||||
logger.warning(f"You are running an \"unstable\" version of Goober, do not expect it to work properly.\nVersion {local_version}{RESET}")
|
||||
elif local_version > latest_version:
|
||||
print(f"{YELLOW}{_('modification_warning')}{RESET}")
|
||||
logger.warning(f"{_('modification_warning')}")
|
||||
elif local_version == latest_version:
|
||||
print(f"{GREEN}{_('latest_version')} {local_version}{RESET}")
|
||||
print(f"{_('latest_version2').format(VERSION_URL=VERSION_URL)}\n\n")
|
||||
logger.info(f"{_('latest_version')} {local_version}")
|
||||
logger.info(f"{_('latest_version2').format(VERSION_URL=VERSION_URL)}\n\n")
|
||||
launched = True
|
||||
return latest_version
|
Loading…
Add table
Add a link
Reference in a new issue