for mirror in mirrors:
# Don't send clients to a mirror they don't support
if isinstance(current_address, ipaddress.IPv6Address):
- if not mirror.supports_ipv6():
+ if not mirror.supports_ipv6:
continue
elif isinstance(current_address, ipaddress.IPv4Address):
- if not mirror.supports_ipv4():
+ if not mirror.supports_ipv4:
continue
# Skip the mirror if it does not serve the file we are looking for
import ipaddress
import logging
import os.path
+import pydantic
import random
import sqlalchemy
import sqlmodel
sa_column=sqlalchemy.Column(sqlalchemy.ARRAY(INET), nullable=False, default=list),
)
- def supports_ipv6(self):
+ @pydantic.computed_field
+ @property
+ def supports_ipv6(self) -> bool:
"""
Returns True if this mirror supports IPv6
"""
sa_column=sqlalchemy.Column(sqlalchemy.ARRAY(INET), nullable=False, default=list)
)
- def supports_ipv4(self):
+ @pydantic.computed_field
+ @property
+ def supports_ipv4(self) -> bool:
"""
Returns True if this mirror supports IPv4
"""