mirror of
https://github.com/KoboldAI/KoboldAI-Client.git
synced 2025-06-05 21:59:24 +02:00
Added Formatting options
Added Bootstrap toggle library for UI Added injection points for input/output modification
This commit is contained in:
66
utils.py
66
utils.py
@ -1,5 +1,10 @@
|
||||
from threading import Timer
|
||||
import re
|
||||
|
||||
#==================================================================#
|
||||
# Decorator to prevent a function's actions from being run until
|
||||
# at least x seconds have passed without the function being called
|
||||
#==================================================================#
|
||||
def debounce(wait):
|
||||
def decorator(fun):
|
||||
def debounced(*args, **kwargs):
|
||||
@ -16,4 +21,63 @@ def debounce(wait):
|
||||
|
||||
return debounced
|
||||
|
||||
return decorator
|
||||
return decorator
|
||||
|
||||
#==================================================================#
|
||||
# Replace fancy quotes and apostrope's with standard ones
|
||||
#==================================================================#
|
||||
def fixquotes(txt):
|
||||
txt = txt.replace("“", '"')
|
||||
txt = txt.replace("”", '"')
|
||||
txt = txt.replace("’", "'")
|
||||
txt = txt.replace("`", "'")
|
||||
return txt
|
||||
|
||||
#==================================================================#
|
||||
#
|
||||
#==================================================================#
|
||||
def trimincompletesentence(txt):
|
||||
# Cache length of text
|
||||
ln = len(txt)
|
||||
# Find last instance of punctuation (Borrowed from Clover-Edition by cloveranon)
|
||||
lastpunc = max(txt.rfind("."), txt.rfind("!"), txt.rfind("?"))
|
||||
# Is this the end of a quote?
|
||||
if(lastpunc < ln-1):
|
||||
if(txt[lastpunc+1] == '"'):
|
||||
lastpunc = lastpunc + 1
|
||||
if(lastpunc >= 0):
|
||||
txt = txt[:lastpunc+1]
|
||||
return txt
|
||||
|
||||
#==================================================================#
|
||||
#
|
||||
#==================================================================#
|
||||
def replaceblanklines(txt):
|
||||
txt = txt.replace("\n\n", "\n")
|
||||
return txt
|
||||
|
||||
#==================================================================#
|
||||
#
|
||||
#==================================================================#
|
||||
def removespecialchars(txt):
|
||||
txt = re.sub(r"[#/@%<>{}+=~|\^]", "", txt)
|
||||
return txt
|
||||
|
||||
#==================================================================#
|
||||
# If the next action follows a sentence closure, add a space
|
||||
#==================================================================#
|
||||
def addsentencespacing(txt, acts):
|
||||
# Get last character of last action
|
||||
lastchar = acts[-1][-1]
|
||||
if(lastchar == "." or lastchar == "!" or lastchar == "?"):
|
||||
txt = " " + txt
|
||||
return txt
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user