Встроенные паттерны¶
FUCKTAR предоставляет набор встроенных паттернов для генерации различных типов данных. В этом разделе мы рассмотрим все доступные паттерны.
Оглавление¶
Общие принципы¶
Все встроенные паттерны организованы по категориям в соответствующих модулях:
from fucktar.default_patterns.users import UserRuPatterns, UserEnPatterns
from fucktar.default_patterns.network import NetworkPatterns, WebPatterns
from fucktar.default_patterns.geo import GeoPatterns
from fucktar.default_patterns.date import DateTimePatterns
from fucktar.default_patterns.system import SystemPatterns, FilePatterns
Каждый паттерн представляет собой класс с набором строковых атрибутов, содержащих регулярные выражения для генерации данных.
Использование встроенных паттернов¶
Для использования встроенных паттернов просто импортируйте нужный класс и используйте его атрибуты в вашем паттерне:
from fucktar.generator import BasePattern
from fucktar.config import PatternConfig
from fucktar.default_patterns.users import UserRuPatterns
from fucktar.default_patterns.network import NetworkPatterns
class UserPatterns(BasePattern[User]):
first_name = UserRuPatterns.first_name
last_name = UserRuPatterns.last_name
email = UserRuPatterns.email
phone = UserRuPatterns.phone
ipv4 = NetworkPatterns.ipv4
pattern_config = PatternConfig(
scope="users",
unique_fields=["email"]
)
Создание пользовательских паттернов на основе встроенных¶
Вы можете создавать свои паттерны, комбинируя встроенные:
class CustomUserPatterns:
# Используем встроенные паттерны
first_name = UserRuPatterns.first_name
last_name = UserRuPatterns.last_name
email = UserRuPatterns.email
# Добавляем собственные паттерны
custom_field = r"^[A-Z]{3}-\d{3}$"
Рекомендации по использованию¶
- Используйте встроенные паттерны, когда это возможно, для обеспечения согласованности данных
- Изучите доступные паттерны перед созданием собственных
- Комбинируйте паттерны из разных категорий для создания сложных моделей данных
- Используйте паттерны, соответствующие вашим региональным требованиям (например, UserRuPatterns для российских данных)