Перейти к содержанию

Встроенные паттерны

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}$"

Рекомендации по использованию

  1. Используйте встроенные паттерны, когда это возможно, для обеспечения согласованности данных
  2. Изучите доступные паттерны перед созданием собственных
  3. Комбинируйте паттерны из разных категорий для создания сложных моделей данных
  4. Используйте паттерны, соответствующие вашим региональным требованиям (например, UserRuPatterns для российских данных)