$13 GRAYBYTE WORDPRESS FILE MANAGER $63

SERVER : in-mum-web1330.main-hosting.eu #1 SMP Mon Feb 10 22:45:17 UTC 2025
SERVER IP : 88.222.243.156 | ADMIN IP 216.73.216.215
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/python311/lib/python3.11/site-packages/validators/

HOME
Current File : /opt/alt/python311/lib/python3.11/site-packages/validators//cron.py
"""Cron."""

# local
from .utils import validator


def _validate_cron_component(component: str, min_val: int, max_val: int):
    if component == "*":
        return True

    if component.isdecimal():
        return min_val <= int(component) <= max_val

    if "/" in component:
        parts = component.split("/")
        if len(parts) != 2 or not parts[1].isdecimal() or int(parts[1]) < 1:
            return False
        if parts[0] == "*":
            return True
        return parts[0].isdecimal() and min_val <= int(parts[0]) <= max_val

    if "-" in component:
        parts = component.split("-")
        if len(parts) != 2 or not parts[0].isdecimal() or not parts[1].isdecimal():
            return False
        start, end = int(parts[0]), int(parts[1])
        return min_val <= start <= max_val and min_val <= end <= max_val and start <= end

    if "," in component:
        for item in component.split(","):
            if not _validate_cron_component(item, min_val, max_val):
                return False
        return True
        # return all(
        #   _validate_cron_component(item, min_val, max_val) for item in component.split(",")
        # ) # throws type error. why?

    return False


@validator
def cron(value: str, /):
    """Return whether or not given value is a valid cron string.

    Examples:
        >>> cron('*/5 * * * *')
        # Output: True
        >>> cron('30-20 * * * *')
        # Output: ValidationError(func=cron, ...)

    Args:
        value:
            Cron string to validate.

    Returns:
        (Literal[True]): If `value` is a valid cron string.
        (ValidationError): If `value` is an invalid cron string.
    """
    if not value:
        return False

    try:
        minutes, hours, days, months, weekdays = value.strip().split()
    except ValueError as err:
        raise ValueError("Badly formatted cron string") from err

    if not _validate_cron_component(minutes, 0, 59):
        return False
    if not _validate_cron_component(hours, 0, 23):
        return False
    if not _validate_cron_component(days, 1, 31):
        return False
    if not _validate_cron_component(months, 1, 12):
        return False
    if not _validate_cron_component(weekdays, 0, 6):
        return False

    return True

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
5 Sep 2025 9.32 AM
root / 996
0755
__pycache__
--
8 May 2024 6.34 PM
root / root
0755
i18n
--
8 May 2024 6.34 PM
root / root
0755
__init__.py
1.86 KB
8 May 2024 6.34 PM
root / root
0644
_extremes.py
1.014 KB
8 May 2024 6.34 PM
root / root
0644
_tld.txt
9.401 KB
8 May 2024 6.34 PM
root / root
0644
between.py
2.387 KB
8 May 2024 6.34 PM
root / root
0644
btc_address.py
1.616 KB
8 May 2024 6.34 PM
root / root
0644
card.py
5.631 KB
8 May 2024 6.34 PM
root / root
0644
country.py
14.569 KB
8 May 2024 6.34 PM
root / root
0644
cron.py
2.228 KB
8 May 2024 6.34 PM
root / root
0644
domain.py
2.401 KB
8 May 2024 6.34 PM
root / root
0644
email.py
2.723 KB
8 May 2024 6.34 PM
root / root
0644
encoding.py
1.337 KB
8 May 2024 6.34 PM
root / root
0644
finance.py
3.222 KB
8 May 2024 6.34 PM
root / root
0644
hashes.py
3.21 KB
8 May 2024 6.34 PM
root / root
0644
hostname.py
4.046 KB
8 May 2024 6.34 PM
root / root
0644
iban.py
1.054 KB
8 May 2024 6.34 PM
root / root
0644
ip_address.py
4.341 KB
8 May 2024 6.34 PM
root / root
0644
length.py
1.45 KB
8 May 2024 6.34 PM
root / root
0644
mac_address.py
0.845 KB
8 May 2024 6.34 PM
root / root
0644
py.typed
0 KB
8 May 2024 6.34 PM
root / root
0644
slug.py
0.732 KB
8 May 2024 6.34 PM
root / root
0644
uri.py
1.777 KB
8 May 2024 6.34 PM
root / root
0644
url.py
7.231 KB
8 May 2024 6.34 PM
root / root
0644
utils.py
3.103 KB
8 May 2024 6.34 PM
root / root
0644
uuid.py
1.039 KB
8 May 2024 6.34 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF