add ci workflows (#1)
All checks were successful
All checks were successful
Reviewed-on: godber/embedding-buddy#1
This commit was merged in pull request #1.
This commit is contained in:
@@ -1,33 +1,36 @@
|
||||
from typing import List, Dict, Any
|
||||
from typing import List
|
||||
import plotly.colors as pc
|
||||
from ..models.schemas import Document
|
||||
|
||||
|
||||
class ColorMapper:
|
||||
|
||||
@staticmethod
|
||||
def create_color_mapping(documents: List[Document], color_by: str) -> List[str]:
|
||||
if color_by == 'category':
|
||||
if color_by == "category":
|
||||
return [doc.category for doc in documents]
|
||||
elif color_by == 'subcategory':
|
||||
elif color_by == "subcategory":
|
||||
return [doc.subcategory for doc in documents]
|
||||
elif color_by == 'tags':
|
||||
return [', '.join(doc.tags) if doc.tags else 'No tags' for doc in documents]
|
||||
elif color_by == "tags":
|
||||
return [", ".join(doc.tags) if doc.tags else "No tags" for doc in documents]
|
||||
else:
|
||||
return ['All'] * len(documents)
|
||||
|
||||
return ["All"] * len(documents)
|
||||
|
||||
@staticmethod
|
||||
def to_grayscale_hex(color_str: str) -> str:
|
||||
try:
|
||||
if color_str.startswith('#'):
|
||||
rgb = tuple(int(color_str[i:i+2], 16) for i in (1, 3, 5))
|
||||
if color_str.startswith("#"):
|
||||
rgb = tuple(int(color_str[i : i + 2], 16) for i in (1, 3, 5))
|
||||
else:
|
||||
rgb = pc.hex_to_rgb(pc.convert_colors_to_same_type([color_str], colortype='hex')[0][0])
|
||||
|
||||
rgb = pc.hex_to_rgb(
|
||||
pc.convert_colors_to_same_type([color_str], colortype="hex")[0][0]
|
||||
)
|
||||
|
||||
gray_value = int(0.299 * rgb[0] + 0.587 * rgb[1] + 0.114 * rgb[2])
|
||||
gray_rgb = (gray_value * 0.7 + rgb[0] * 0.3,
|
||||
gray_value * 0.7 + rgb[1] * 0.3,
|
||||
gray_value * 0.7 + rgb[2] * 0.3)
|
||||
return f'rgb({int(gray_rgb[0])},{int(gray_rgb[1])},{int(gray_rgb[2])})'
|
||||
except:
|
||||
return 'rgb(128,128,128)'
|
||||
gray_rgb = (
|
||||
gray_value * 0.7 + rgb[0] * 0.3,
|
||||
gray_value * 0.7 + rgb[1] * 0.3,
|
||||
gray_value * 0.7 + rgb[2] * 0.3,
|
||||
)
|
||||
return f"rgb({int(gray_rgb[0])},{int(gray_rgb[1])},{int(gray_rgb[2])})"
|
||||
except: # noqa: E722
|
||||
return "rgb(128,128,128)"
|
||||
|
||||
Reference in New Issue
Block a user