Skip to content

Commit a7585cb

Browse files
authored
Improve type annotations (#167)
* Change ratio calculation to use Fraction Replace the floating-point division in the ratio calculation with Fraction * Refine type annotations
1 parent 2489e02 commit a7585cb

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

pictures/utils.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def _grid(*, _columns=12, **breakpoint_sizes):
2727
yield key, prev_size / _columns
2828

2929

30-
def _media_query(*, container_width: int = None, **breakpoints: {str: int}):
30+
def _media_query(*, container_width: int | None = None, **breakpoints: int):
3131
settings = conf.get_settings()
3232
prev_ratio = None
3333
prev_width = 0
@@ -53,7 +53,7 @@ def _media_query(*, container_width: int = None, **breakpoints: {str: int}):
5353
yield f"{container_width}px" if container_width else "100vw"
5454

5555

56-
def sizes(*, cols=12, container_width: int = None, **breakpoints: {str: int}) -> str:
56+
def sizes(*, cols=12, container_width: int | None = None, **breakpoints: int) -> str:
5757
breakpoints = dict(_grid(_columns=cols, **breakpoints))
5858
return ", ".join(_media_query(container_width=container_width, **breakpoints))
5959

@@ -63,7 +63,7 @@ def source_set(
6363
) -> set:
6464
ratio = Fraction(ratio) if ratio else None
6565
img_width, img_height = size
66-
ratio = ratio or (img_width / img_height)
66+
ratio = ratio or Fraction(img_width, img_height)
6767
settings = conf.get_settings()
6868
# calc all widths at 1X resolution
6969
widths = (max_width * (w + 1) / cols for w in range(cols))

0 commit comments

Comments
 (0)