Connectivity to `pdfpiw.uspto.gov` broken?

Abierto
#74 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
backend

Línea de trabajo

Start with patzilla/access/uspto/pdf.py at the requests.get call shown in the traceback, then read patzilla/access/generic/pdf.py around pdf_universal_real to understand how failures affect callers and resource use. Check the existing tests for USPTO PDF fetching and error handling. Done means repeated connection timeouts no longer leave the web server unresponsive, with the intended behavior for this unavailable source made clear.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Problem

The system is experiencing those errors which apparently lead to resource consumption that makes the web server no longer respond to any requests after a few iterations. Why?

2025-08-04 16:27:49,857 INFO     [patzilla.access.uspto.pdf               ][MainThread] PDF US1748277A: Accessing USPTO document server: http://pdfpiw.uspto.gov/fdd/77/482/017/0.pdf
2025-08-04 16:29:57,153 WARNING  [patzilla.access.generic.pdf             ][MainThread] PDF US1748277A: Not available from USPTO. HTTPConnectionPool(host='pdfpiw.uspto.gov', port=80): Max retries exceeded with url: /fdd/77/482/017/0.pdf (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7bcc4d0>: Failed to establish a new connection: [Errno 110] Connection timed out',))
2025-08-04 16:29:57,154 ERROR    [patzilla.access.generic.pdf             ][MainThread] Traceback (most recent call last):
  File "/path/to/site-packages/patzilla/access/generic/pdf.py", line 80, in pdf_universal_real
    response.pdf = uspto_fetch_pdf(patent)
  File "/path/to/site-packages/beaker/cache.py", line 599, in cached
    return cache[0].get_value(cache_key, createfunc=go)
  File "/path/to/site-packages/beaker/cache.py", line 322, in get
    return self._get_value(key, **kw).get_value()
  File "/path/to/site-packages/beaker/container.py", line 378, in get_value
    v = self.createfunc()
  File "/path/to/site-packages/beaker/cache.py", line 597, in go
    return func(*args, **kwargs)
  File "/path/to/site-packages/patzilla/access/uspto/pdf.py", line 108, in fetch_pdf
    response = requests.get(url, headers={'User-Agent': regular_user_agent})
  File "/path/to/site-packages/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/path/to/site-packages/requests/api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
  File "/path/to/site-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/path/to/site-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/path/to/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
ConnectionError: HTTPConnectionPool(host='pdfpiw.uspto.gov', port=80): 
Max retries exceeded with url: /fdd/77/482/017/0.pdf (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7bcc4d0>: 
Failed to establish a new connection: [Errno 110] Connection timed out',))

Thoughts

We probably need to turn off this subsystem so it no longer causes any troubles? Or improve error handling at this spot? Or try to switch to another data source URL, if there is any?

Lenguaje dominante
Python
Estrellas
123
Forks
31
Merge medio
3 h 7 min
PR fusionados (30 d)
71

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ip-tools/patzilla

Todos los issues de ip-tools/patzilla

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.