diff --git a/src/replit/__init__.py b/src/replit/__init__.py
index 256c40a..14f6245 100644
--- a/src/replit/__init__.py
+++ b/src/replit/__init__.py
@@ -1,6 +1,6 @@
"""The replit python module."""
from . import maqpy
-from . import utils
+from . import termutils
from .audio import Audio
from .database import db
diff --git a/src/replit/maqpy/html.py b/src/replit/maqpy/html.py
index 0014bb9..eb877d0 100644
--- a/src/replit/maqpy/html.py
+++ b/src/replit/maqpy/html.py
@@ -58,29 +58,29 @@ class Link(HTMLElement):
class Page(flask.Response):
- """Represents an HTML page."""
+ """Represents an HTML page."""
- def __init__(self, title: str = None, head: str = "", body: str = "") -> None:
- """Initialize the class.
+ def __init__(self, title: str = None, head: str = "", body: str = "") -> None:
+ """Initialize the class.
- Args:
- title (str): The title of the page. If not provided no title tag will be sent.
- head (str): The HTML to put in the head of the page. Defaults to nothing.
- body (str): The HTML to put in the body of the page. Defaults to nothing.
- """
- self.title = title
- self.head = head
- self.body = body
+ Args:
+ title (str): The title of the page. If not provided no title tag will be sent.
+ head (str): The HTML to put in the head of the page. Defaults to nothing.
+ body (str): The HTML to put in the body of the page. Defaults to nothing.
+ """
+ self.title = title
+ self.head = head
+ self.body = body
- title_html = f"
{self.title}\n " if self.title else ""
- super().__init__(
+ title_html = f"{self.title}\n " if self.title else ""
+ super().__init__(
f"""
-
-
- {title_html}{self.head}
-
-
- {self.body}
-
-"""
- )
+
+
+ {title_html}{self.head}
+
+
+ {self.body}
+
+ """
+ )
diff --git a/src/replit/utils/__init__.py b/src/replit/termutils.py
similarity index 56%
rename from src/replit/utils/__init__.py
rename to src/replit/termutils.py
index fad3be4..ced73c4 100644
--- a/src/replit/utils/__init__.py
+++ b/src/replit/termutils.py
@@ -4,23 +4,11 @@ def clear() -> None:
"""Clear the terminal."""
print("\033[H\033[2J", end="", flush=True)
-class hexdec():
- def __init__(self, hexvalue : str):
+class color():
+ '''
+ Dynamic Color: Accepts RGB Color
+ '''
- '''
- Convert Hex Value to RGB
- then generate an ANSI escape code
- '''
-
- hexvalue = hexvalue.lstrip('#')
- self.rgb = tuple(int(hexvalue[i:i+2], 16) for i in (0, 2, 4))
-
- r, g, b = self.rgb
-
- self.fg = f'\033[38;2;{r};{g};{b}m'
- self.bg = f'\033[48;2;{r};{g};{b}m'
-
-class rgb():
def __init__(self, r : int, g : int, b : int):
'''
@@ -32,20 +20,34 @@ class rgb():
'''
if r < 0 or g < 0 or b < 0:
- raise ValueError('RGB Pallete - No Color Support for colors under 0')
+ raise ValueError('No Color Support for colors under 0')
if r > 255 or g > 255 or b > 255:
- raise ValueError('RGB Pallete - No Color Support for colors over 255')
+ raise ValueError('No Color Support for colors over 255')
+ self.rgb = (r, g, b)
self.fg = f'\033[38;2;{r};{g};{b}m'
self.bg = f'\033[48;2;{r};{g};{b}m'
+ @classmethod
+ def hexdec(cls, hexvalue : str):
+ '''
+ Convert Hex Value to RGB
+ then generate an ANSI escape code
+ '''
+
+ try:
+ hexvalue = hexvalue.lstrip('#')
+ r, g, b = tuple(int(hexvalue[i:i+2], 16) for i in (0, 2, 4))
+ except Exception as e:
+ raise ValueError(f'Error while converting Hex to RGB - {e}')
+
+ return cls(r, g, b)
+
class bit():
def __init__(self, value : int):
'''
Use a 8bit colorpallete
colors from 0-255 (256 total)
- Exceptions:
- ValueError
'''
if value > 255:
@@ -81,25 +83,25 @@ class attr():
reset = attr('reset').attr
bold = attr('bold').attr
italic = attr('italic').attr
-red = rgb(255, 0, 0)
-orange = rgb(255, 165, 0)
-yellow = rgb(255,255,0)
-green = rgb(0,255,0)
-blue = rgb(0,0,255)
-indigo = rgb(75,0,130)
-violet = rgb(238,130,238)
-purple = rgb(128,0,128)
-pink = rgb(255,105,180)
-brown = rgb(165,42,42)
-brightred = rgb(250,128,114)
-brightorange = rgb(255,215,0)
-brightyellow = rgb(255, 255, 102)
-brightgreen = rgb(102, 255, 102)
-brightblue = rgb(102, 178, 255)
-brightpurple = rgb(178, 102, 255)
-darkred = rgb(139,0,0)
-darkorange = rgb(255,140,0)
-darkyellow = rgb(204, 204, 0)
-darkgreen = rgb(0, 153, 0)
-darkblue = rgb(0, 0, 204)
-darkpurple = rgb(102, 0, 204)
\ No newline at end of file
+red = color(255, 0, 0)
+orange = color(255, 165, 0)
+yellow = color(255,255,0)
+green = color(0,255,0)
+blue = color(0,0,255)
+indigo = color(75,0,130)
+violet = color(238,130,238)
+purple = color(128,0,128)
+pink = color(255,105,180)
+brown = color(165,42,42)
+brightred = color(250,128,114)
+brightorange = color(255,215,0)
+brightyellow = color(255, 255, 102)
+brightgreen = color(102, 255, 102)
+brightblue = color(102, 178, 255)
+brightpurple = color(178, 102, 255)
+darkred = color(139,0,0)
+darkorange = color(255,140,0)
+darkyellow = color(204, 204, 0)
+darkgreen = color(0, 153, 0)
+darkblue = color(0, 0, 204)
+darkpurple = color(102, 0, 204)