mbuali's picture
Upload folder using huggingface_hub
d1ceb73 verified
"""Module for URI Template expansion."""
from __future__ import annotations
from .expansions import ExpansionFailedError
from .uritemplate import ExpansionInvalidError, ExpansionReservedError, URITemplate
from .variable import Variable, VariableInvalidError
__all__ = (
'URITemplate',
'Variable',
'ExpansionInvalidError',
'ExpansionReservedError',
'VariableInvalidError',
'ExpansionFailedError',
)
def expand(template: str, **kwargs) -> (str | None):
try:
templ = URITemplate(template)
return templ.expand(**kwargs)
except Exception:
return None
def partial(template: str, **kwargs) -> (str | None):
try:
templ = URITemplate(template)
return str(templ.partial(**kwargs))
except Exception:
return None
def validate(template: str) -> bool:
try:
URITemplate(template)
return True
except Exception:
return False