UserItem.CSVImport.create_from_file: wrong file-extension check

Offen Anfängerfreundlich
#1,865 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
70/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
python
Bereich
api

Rechercherichtung

Beginne in users_endpoint.py bei Users.create_from_file und überprüfe dessen Deprecation-Verhalten sowie die aktuellen Aufrufer. Überprüfe die aufgeführten Pfade für Kleinbuchstaben, Großbuchstaben, Teilstrings und Nicht-CSV und bestätige anschließend, dass der gewählte Ansatz – die Validierung während des Deprecation-Zeitraums zu korrigieren oder dies bis zur Entfernung aufzuschieben – der Projektentscheidung entspricht.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Users.create_from_file (in users_endpoint.py) validates the file with "csv" not in filepath before parsing. That test:

  • accepts non-CSV files whose path merely contains the substring csv (e.g. report.csv.bak, mycsv.txt, /home/csvuser/data.json)
  • rejects valid files whose extension is uppercase (e.g. USERS.CSV)

Neither matches the error message ("Only csv files are accepted").

Fix would be Path(filepath).suffix.lower() == ".csv".

Note: create_from_file is already deprecated (emits DeprecationWarning and is being replaced by bulk_add). Two paths:

  1. Patch under the deprecation window so the last few callers get correct behavior until removal.
  2. Just delete the method when the deprecation window closes and don't touch it in the meantime.

Filed as follow-up to a review comment on PR #1812 (out of scope for that PR's refactor).

Vorherrschende Sprache
Python
Sterne
716
Forks
446
Ø Merge
8 T. 8 Std.
Gemergte PRs (30 T.)
2

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus tableau/server-client-python

Alle Issues in tableau/server-client-python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.