import random from typing import Any from Generator.Enums.RandomType import RandomType from mimesis import Generic from mimesis.locales import Locale class UniversalRandomizer: fake = Generic(locale=Locale.EN) def get_random(self, r_type: RandomType) -> Any: if r_type == RandomType.IP: return self.fake.internet.ip_v4() if r_type == RandomType.DATE: return self.fake.datetime.date().isoformat() if r_type == RandomType.EMAIL: return self.fake.person.email() if r_type == RandomType.STATUS_CODE: return self.fake.internet.http_status_code() if r_type == RandomType.PATH: return f"/var/log/{self.fake.file.file_name()}" if r_type == RandomType.USERNAME: return self.fake.person.username() if r_type == RandomType.INT: return random.randint(1, 9999) if r_type == RandomType.VERSION: return self.fake.development.version() if r_type == RandomType.ID: return self.fake.cryptographic.uuid().split('-')[0] return "UNKNOWN"