32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
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"
|