Commit 18161f58 authored by narugo1992's avatar narugo1992
Browse files

dev(narugo): fix bg docs and tests

parent 49c5851f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ BackgroundImageSet
------------------------------------------

.. autoclass:: BackgroundImageSet
    :members: list_image_files, get_image_file, get_image, random_image_file, random_image
    :members: __init__, list_image_files, get_image_file, get_image, random_image_file, random_image



+36 −1
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ class BackgroundImageSet:
        :param height: The desired height of background images. (default: None)
        :type height: Optional[float]

        :param strict_level: The strictness level for selecting images. (default: 1.0)
        :param strict_level: The strictness level for selecting images. (default: 1.5)
        :type strict_level: float

        :param min_selected: The minimum number of images to consider for selection. (default: 5)
@@ -222,6 +222,17 @@ def list_bg_image_files() -> List[str]:

    :return: A list of filenames of background images.
    :rtype: List[str]

    Examples::
        >>> from imgutils.resource import list_bg_image_files
        >>>
        >>> files = list_bg_image_files()
        >>> type(files)
        <class 'list'>
        >>> len(files)
        8057
        >>> files[:5]
        ['000000.jpg', '000001.jpg', '000002.jpg', '000003.jpg', '000004.jpg']
    """
    return _get_default_set().list_image_files()

@@ -235,6 +246,12 @@ def get_bg_image_file(filename: str) -> str:

    :return: The local file path of the background image.
    :rtype: str

    Examples::
        >>> from imgutils.resource import get_bg_image_file
        >>>
        >>> get_bg_image_file('000001.jpg')
        '/home/user/.cache/dghs-imgutils/bg/000001.jpg'
    """
    return _get_default_set().get_image_file(filename)

@@ -248,6 +265,12 @@ def get_bg_image(filename) -> Image.Image:

    :return: The PIL Image object of the background image.
    :rtype: Image.Image

    Examples::
        >>> from imgutils.resource import get_bg_image
        >>>
        >>> get_bg_image('000001.jpg')
        <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=2400x1600 at 0x7FEB86ED5160>
    """
    return _get_default_set().get_image(filename)

@@ -258,6 +281,12 @@ def random_bg_image_file() -> str:

    :return: The filename of a randomly selected background image.
    :rtype: str

    Examples::
        >>> from imgutils.resource import random_bg_image_file
        >>>
        >>> random_bg_image_file()
        '/home/user/.cache/dghs-imgutils/bg/003258.jpg'
    """
    return _get_default_set().random_image_file()

@@ -268,5 +297,11 @@ def random_bg_image() -> Image.Image:

    :return: The PIL Image object of a randomly selected background image.
    :rtype: Image.Image

    Examples::
        >>> from imgutils.resource import random_bg_image
        >>>
        >>> random_bg_image()
        <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=400x400 at 0x7FEB86A748B0>
    """
    return _get_default_set().random_image()
+10 −0
Original line number Diff line number Diff line
@@ -22,6 +22,11 @@ def set_height_1200():
    return BackgroundImageSet(height=1200)


@pytest.fixture(scope='module')
def set_resolution_2000():
    return BackgroundImageSet(min_resolution=2000)


@pytest.fixture(scope='module')
def set_size_10_2():
    return BackgroundImageSet(width=10, height=2, strict_level=4)
@@ -91,6 +96,11 @@ class TestResourceBackground:
            image = set_height_1200.random_image()
            assert 1100 <= image.height <= 1300

    def test_resolution(self, set_resolution_2000):
        for _ in range(5):
            image = set_resolution_2000.random_image()
            assert image.width * image.height >= 2000 ** 2

    def test_ratio(self, set_size_10_2):
        assert 10 <= len(set_size_10_2.df) <= 20
        v = set_size_10_2.df['width'] / set_size_10_2.df['height']