Friendlier error message than `TypeError`

Ouverte
#26 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
52/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python
Domaine
cli, databases

Piste de recherche

La traceback pointe vers sqlrunner/main.py autour de la ligne 44, le comportement de l'entry point étant montré dans sqlrunner/main.py. Commencez par reproduire l'exécution sans --dsn ni DATABASE_URL et examinez comment cette entrée est analysée. C'est terminé lorsque l'échec produit une erreur plus explicite au lieu du TypeError et de la stack trace affichés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

When neither --dsn is passed nor DATABASE_URL is set, SQL Runner prints a stack trace:

Running actions: query

jobrunner.run loop started
query: Copying in code from /Users/iaindillingham/Code/opensafely/tpp-database-schema
query: Preparing
query: Executing
query: Logs written to: /Users/iaindillingham/Code/opensafely/tpp-database-schema/metadata/query.log
query: Finalizing
query: Job exited with error code 1
query: Cleaning up container and volume

=> query
   Job exited with error code 1

   log file: metadata/query.log
   outputs:
     (no outputs)

   logs:

     Traceback (most recent call last):
       File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
         return _run_code(code, main_globals, None,
       File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
         exec(code, run_globals)
       File "/app/sqlrunner/__main__.py", line 9, in <module>
         results = main.run_sql(dsn=args.dsn, sql_query=sql_query)
       File "/app/sqlrunner/main.py", line 51, in run_sql
         database=parsed_dsn.path.strip("/"),
     TypeError: a bytes-like object is required, not 'str'

parsed_dsn is an instance of ParseResultBytes rather than ParseResult because dsn was None:

https://github.com/opensafely-core/sqlrunner/blob/b6b77a26e10db589e467a180b3121c8c15a39ca0/sqlrunner/main.py#L44

Langage dominant
Python
Étoiles
1
Forks
0
Merge moyen
1 j 22 h
PR mergées (30 j)
12

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de opensafely-core/sqlrunner

Toutes les issues de opensafely-core/sqlrunner

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.