TampereHacklab / mulysa

Mulysa member management for Hacklabs
GNU General Public License v3.0
6 stars 11 forks source link

CSV import does not respect comma separators inside quotation marks #118

Open rostbach opened 4 years ago

rostbach commented 4 years ago

CSV import on ainakin yhdellä jäsenellä missanut puhelinnumeron, koska nicciin on käytetty pilkkua "NICK, HAMCALLSIGN" , jolloin puhelinnumeroksi on tullut hamcall, vaikka nickiksi kuuluisi koko lainattu teksti

rostbach commented 4 years ago

ilmeisesti voisi korjata import csv:llä tämän verkosta löytyneen esimerkin mukaan quotemerkkiä hyväksi käyttäen.

#!/usr/bin/env python3

import csv
with open('file.csv', newline='') as csvfile:
    linereader = csv.reader(csvfile, delimiter=',', quotechar='"')
    for row in linereader:
        print("From Key: %s\nFrom Name: %s" % (row[0], row[1]))
tswfi commented 4 years ago

mitenköhän tuo puhelinnumero on mennyt validoinnista läpi tuossa muodossa

tswfi commented 4 years ago

Ehdotan että poistetaan tuo koko csv import tyyppinen ratkaisu ja tehdään tilalle rest rajapinta jolla voi luoda uusia käyttäjiä jos on tarve.

Tämä on käytännössä one time operation kun järjestelmä otetaan käyttöön ja vaatii aina kuitenkin tekijältä säätämistä ja silloin rest rajapinnan kutsuminen on pikkujuttu tuohon (ja siitä saa kivasti feedbackkiä kokoajan).

tswfi commented 3 years ago

the csv parsing code in question is here: https://github.com/TampereHacklab/mulysa/blob/1b3f8b9106bb90445fdb3e2bcf014d6f6a26da50/utils/dataimport.py#L47 it needs a rewrite