Add emoji module and update emoji validation logic

This commit is contained in:
Gabriel Luiz Freitas Almeida 2024-03-06 12:02:03 -03:00
commit 54708946e1

View file

@ -1,10 +1,10 @@
# Path: src/backend/langflow/database/models/flow.py # Path: src/backend/langflow/database/models/flow.py
import re
from datetime import datetime from datetime import datetime
from typing import TYPE_CHECKING, Dict, Optional from typing import TYPE_CHECKING, Dict, Optional
from uuid import UUID, uuid4 from uuid import UUID, uuid4
from emoji import purely_emoji
from pydantic import field_serializer, field_validator from pydantic import field_serializer, field_validator
from sqlmodel import JSON, Column, Field, Relationship, SQLModel from sqlmodel import JSON, Column, Field, Relationship, SQLModel
@ -47,10 +47,10 @@ class FlowBase(SQLModel):
# emoji pattern in Python # emoji pattern in Python
if v is None: if v is None:
return v return v
pattern = r"\p{Emoji}"
emoji = validate_icon(v) emoji = validate_icon(v)
is_emoji = re.search(pattern, emoji)
if is_emoji: if purely_emoji(emoji):
# this is indeed an emoji # this is indeed an emoji
return emoji return emoji
# otherwise it should be a valid lucide icon # otherwise it should be a valid lucide icon