posit-dev / posit-dev/rsconnect-python

stack trace when you have multiple saved servers and don't pick one

Abierto
#541 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Python
Estrellas
37
Forks
28
Merge medio
1 d 3 h
PR fusionados (30 d)
7

Descripción

I have 3 saved/nicknamed servers. When deploying, I need to pick one using -n. When I forgot, instead of a helpful error message I got a stack trace:

❯ rsconnect deploy quarto index.qmd
Inspecting Quarto project...                     [OK]
Traceback (most recent call last):
  File "/Users/chris/content/quarto-email-install-fest/.venv/lib/python3.11/site-packages/rsconnect/main.py", line 97, in wrapper
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/content/quarto-email-install-fest/.venv/lib/python3.11/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/content/quarto-email-install-fest/.venv/lib/python3.11/site-packages/rsconnect/main.py", line 1219, in deploy_quarto
    ce = RSConnectExecutor(**kwargs)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/content/quarto-email-install-fest/.venv/lib/python3.11/site-packages/rsconnect/api.py", line 424, in __init__
    self.setup_client(cookies)
  File "/Users/chris/content/quarto-email-install-fest/.venv/lib/python3.11/site-packages/rsconnect/api.py", line 540, in setup_client
    self.client = RSConnectClient(self.remote_server, cookies)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/content/quarto-email-install-fest/.venv/lib/python3.11/site-packages/rsconnect/api.py", line 136, in __init__
    append_to_path(server.url, "__api__"),
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/content/quarto-email-install-fest/.venv/lib/python3.11/site-packages/rsconnect/http_support.py", line 129, in append_to_path
    if uri.endswith("/") and path.startswith("/"):
       ^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'endswith'
Internal error: 'NoneType' object has no attribute 'endswith'

related: #214

Guía de contribución

Abrir la guía de contribución

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.

Línea de trabajo

Comienza con el punto de entrada deploy_quarto en rsconnect/main.py y sigue RSConnectExecutor a través de rsconnect/api.py hasta la selección del servidor y el manejo de URL que se muestran en el traceback. Reproduce el comando con varios servidores guardados y sin -n; estará terminado cuando informe de un error de selección útil en lugar de un stack trace.

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

Evaluación

Stack tecnológico
python
Área
cli
Tipo de issue
Error
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.