diff --git a/server.py b/server.py index 28d8005..8b4f3c5 100644 --- a/server.py +++ b/server.py @@ -113,13 +113,13 @@ NAME_RE = re.compile(r"^[^\W\d_][\w .'\-]{1,59}$", re.UNICODE) def invitado(n, f): - """Enlace = nombre + fecha de grabación (AAAA-MM-DD). Válido de 14 días antes a 10 días después.""" + """Enlace = nombre + fecha de grabación como marca de tiempo Unix (segundos). Válido de 14 días antes a 10 días después.""" n = ' '.join(str(n or '').split()) if not NAME_RE.match(n): return None try: - dia = datetime.date.fromisoformat(str(f or '').strip()) - except ValueError: + dia = datetime.datetime.fromtimestamp(int(str(f).strip()), datetime.timezone.utc).date() + except (ValueError, OverflowError, OSError): return None delta = (dia - datetime.date.today()).days return n if -10 <= delta <= 14 else None