Compatibilidad con Python 3.13

- Actualiza dependencias: cryptography>=41.0.0, pyOpenSSL>=23.2.0,
  xmlsec>=1.3.12, xmlsig>=0.1.9, zeep>=4.2.1, lxml>=5.2.2
- Anade monkey-patch para xades.load_pkcs12 con pyOpenSSL >= 24
  (PKCS12 eliminado de OpenSSL.crypto)
- Reemplaza datetime.utcnow() por datetime.now(timezone.utc)
- Reemplaza APIs deprecadas de lxml en facho.py y codelist
- Migra verificacion PKCS12 de pyOpenSSL a cryptography API en fe.py
- Moderniza typing: Union/Optional/List a sintaxis | y list[]
- Actualiza requirements_dev.txt con versiones recientes
- Actualiza tox.ini y Makefile.dev para Python 3.13
This commit is contained in:
2026-07-02 22:45:33 -05:00
parent f98ab98c9c
commit 93a3d18e32
13 changed files with 89 additions and 74 deletions

View File

@@ -8,7 +8,7 @@ import xmlsec
import urllib.request
from datetime import datetime
from dataclasses import dataclass, asdict, field
from typing import List
import http.client
import hashlib
import secrets
@@ -47,7 +47,7 @@ class GetNumberingRangeResponse:
ValidateDateTo: str
TechnicalKey: str
NumberRangeResponse: List[NumberRangeResponse]
NumberRangeResponse: list[NumberRangeResponse]
@classmethod
@@ -91,7 +91,7 @@ class SendBillAsync(SOAPService):
@dataclass
class SendTestSetAsyncResponse:
ZipKey: str
ErrorMessageList: List[str]
ErrorMessageList: list[str]
@classmethod
def fromdict(cls, data):
@@ -134,7 +134,7 @@ class GetStatusResponse:
IsValid: bool
StatusDescription: str
StatusCode: int
ErrorMessage: List[str]
ErrorMessage: list[str]
@classmethod
def fromdict(cls, data):

View File

@@ -9,7 +9,7 @@ module.
"""
import pytz
from datetime import datetime, timedelta
from datetime import datetime, timedelta, timezone
from lxml import etree
from lxml.etree import QName
@@ -222,7 +222,7 @@ def sign_envelope(
return _sign_envelope_with_key(envelope, key, signature_method, digest_method)
def get_timestamp(timestamp = None, delta=None):
timestamp = timestamp or datetime.utcnow()
timestamp = timestamp or datetime.now(timezone.utc)
if delta:
timestamp += delta