From cc0094d3f73b258a0b89353981529e7fa6978b53 Mon Sep 17 00:00:00 2001 From: Matthias Bisping Date: Wed, 1 Feb 2023 16:54:08 +0100 Subject: [PATCH] Refactoring: Move Move random content rectangle into its own module --- synthesis/segment/random_content_rectangle.py | 17 +++++++++++++++++ test/fixtures/page_generation/page.py | 13 +------------ 2 files changed, 18 insertions(+), 12 deletions(-) create mode 100644 synthesis/segment/random_content_rectangle.py diff --git a/synthesis/segment/random_content_rectangle.py b/synthesis/segment/random_content_rectangle.py new file mode 100644 index 0000000..e3b9cde --- /dev/null +++ b/synthesis/segment/random_content_rectangle.py @@ -0,0 +1,17 @@ +import random +from functools import lru_cache + +from synthesis.random import rnd +from synthesis.segment.content_rectangle import ContentRectangle + + +class RandomContentRectangle(ContentRectangle): + def __init__(self, x1, y1, x2, y2, content=None, seed=None): + super().__init__(x1, y1, x2, y2, content) + self.seed = seed or get_random_seed() + self.random = random.Random(self.seed) + + +@lru_cache(maxsize=None) +def get_random_seed(): + return rnd.randint(0, 2**32 - 1) diff --git a/test/fixtures/page_generation/page.py b/test/fixtures/page_generation/page.py index 52bed09..375b679 100644 --- a/test/fixtures/page_generation/page.py +++ b/test/fixtures/page_generation/page.py @@ -30,6 +30,7 @@ from cv_analysis.utils.spacial import area from synthesis.partitioner.page_partitioner import PagePartitioner from synthesis.random import rnd from synthesis.segment.content_rectangle import ContentRectangle +from synthesis.segment.random_content_rectangle import RandomContentRectangle logger.remove() logger.add(sys.stderr, level="INFO") @@ -301,18 +302,6 @@ def generate_recursive_random_table(rectangle: Rectangle, **kwargs) -> ContentRe return block -@lru_cache(maxsize=None) -def get_random_seed(): - return rnd.randint(0, 2**32 - 1) - - -class RandomContentRectangle(ContentRectangle): - def __init__(self, x1, y1, x2, y2, content=None, seed=None): - super().__init__(x1, y1, x2, y2, content) - self.seed = seed or get_random_seed() - self.random = random.Random(self.seed) - - class Size(Enum): SMALL = 120 MEDIUM = 180