mirror of
https://github.com/langgenius/dify.git
synced 2025-12-20 22:52:26 +00:00
Some checks are pending
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/amd64, build-api-amd64) (push) Waiting to run
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/arm64, build-api-arm64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/amd64, build-web-amd64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/arm64, build-web-arm64) (push) Waiting to run
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Blocked by required conditions
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Blocked by required conditions
Main CI Pipeline / Check Changed Files (push) Waiting to run
Main CI Pipeline / API Tests (push) Blocked by required conditions
Main CI Pipeline / Web Tests (push) Blocked by required conditions
Main CI Pipeline / Style Check (push) Waiting to run
Main CI Pipeline / VDB Tests (push) Blocked by required conditions
Main CI Pipeline / DB Migration Test (push) Blocked by required conditions
Co-authored-by: Jacky Su <jacky_su@trendmicro.com>
33 lines
858 B
Python
33 lines
858 B
Python
"""Custom input types for Flask-RESTX request parsing."""
|
|
|
|
import re
|
|
|
|
|
|
def time_duration(value: str) -> str:
|
|
"""
|
|
Validate and return time duration string.
|
|
|
|
Accepts formats: <number>d (days), <number>h (hours), <number>m (minutes), <number>s (seconds)
|
|
Examples: 7d, 4h, 30m, 30s
|
|
|
|
Args:
|
|
value: The time duration string
|
|
|
|
Returns:
|
|
The validated time duration string
|
|
|
|
Raises:
|
|
ValueError: If the format is invalid
|
|
"""
|
|
if not value:
|
|
raise ValueError("Time duration cannot be empty")
|
|
|
|
pattern = r"^(\d+)([dhms])$"
|
|
if not re.match(pattern, value.lower()):
|
|
raise ValueError(
|
|
"Invalid time duration format. Use: <number>d (days), <number>h (hours), "
|
|
"<number>m (minutes), or <number>s (seconds). Examples: 7d, 4h, 30m, 30s"
|
|
)
|
|
|
|
return value.lower()
|