Example #1
0
 async def new(
         cls,
         text: str,
         *,
         size: conint(  # type:ignore
             strict=True,
             gt=Config["qrcode"]["min-size"].as_number(),  # noqa:F821
             lt=Config["qrcode"]["max-size"].as_number(),  # noqa:F821
         ) = 200,
         logo: Optional[HostUrl] = None,
         level: QRCodeLevel = QRCodeLevel.M,
         bgcolor: Color = Color("FFFFFF"),
         fgcolor: Color = Color("000000"),
 ):
     icon_stream = None
     if logo is not None:
         async with BaseNetClient() as client:
             response = await client.get(
                 logo, headers={"user-agent": "HibiAPI@GitHub"}, timeout=6)
             response.raise_for_status()
         icon_stream = BytesIO(response.content)
     return cls(
         data=text,
         logo=logo,
         level=level,
         size=size,
         path=await cls._generate(
             text,
             size=size,
             level=level,
             icon_stream=icon_stream,
             bgcolor=bgcolor.as_hex(),
             fgcolor=fgcolor.as_hex(),
         ),
     )
Example #2
0
async def update_item(*, setColor: Color):
    return {
        "item color": setColor,
        "Name": setColor.as_named(),
        "Hex": setColor.as_hex(),
        "RGB": setColor.as_rgb_tuple()
    }
async def read_color(*,setColor:Color):
    return {
        "Color":setColor,
        "Name":setColor.as_named(),
        "Hex":setColor.as_hex(),
        "RGB":setColor.as_rgb()
    }
Example #4
0
def read_quotes(
        db: Session = Depends(get_db),
        skip: int = 0,
        limit: int = 100,
        anywhere: str = None,
        title: str = None,
        author: str = None,
        text: str = None,
        quote_type: str = None,
        description: str = None,
        color: Color = None,
        tag_ids: List[int] = None,
        current_user: DBUser = Depends(get_current_active_user),
):
    """
    Retrieve quotes.
    """

    tags = []
    if tag_ids:
        for each_tag in tag_ids:
            tag = crud.tag.get(db_session=db, id=each_tag)
            if not tag:
                raise HTTPException(status_code=404, detail="Tag not found")
            tags.append(tag)

    search: QuoteSearch = QuoteSearch(anywhere=anywhere,
                                      title=title,
                                      author=author,
                                      text=text,
                                      quote_type=quote_type,
                                      description=description,
                                      color=color.as_hex() if color else None,
                                      tags=tags)

    if crud.user.is_superuser(current_user):
        quotes = crud.quote.get_multi_by_search(db,
                                                search=search,
                                                skip=skip,
                                                limit=limit)
    else:
        quotes = crud.quote.get_multi_by_search_owner(db_session=db,
                                                      owner_id=current_user.id,
                                                      search=search,
                                                      skip=skip,
                                                      limit=limit)

    return quotes
Example #5
0
from pydantic import BaseModel, ValidationError
from pydantic.color import Color

c = Color('ff00ff')
print(c.as_named())
print(c.as_hex())
c2 = Color('green')
print(c2.as_rgb_tuple())
print(c2.original())
print(repr(Color('hsl(180, 100%, 50%)')))


class Model(BaseModel):
    color: Color


print(Model(color='purple'))
try:
    Model(color='hello')
except ValidationError as e:
    print(e)