posit-dev / posit-dev/rsconnect-python

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

Aperta
#541 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Python
Stelle
37
Fork
28
Merge medio
1g 3h
PR unite (30g)
7

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dal punto di ingresso deploy_quarto in rsconnect/main.py e segui RSConnectExecutor attraverso rsconnect/api.py fino alla selezione del server e alla gestione dell’URL mostrate nel traceback. Riproduci il comando con più server salvati e senza -n; il lavoro è concluso quando segnala un errore di selezione utile invece di uno stack trace.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
cli
Tipo di issue
Bug
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.