Projet

Général

Profil

Support #26582

commande pour changer le fichier tableau d'une CSVDataSource

Ajouté par Benjamin Dauvergne il y a plus de 5 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
20 septembre 2018
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Pour répondre à la demande du ticket #26299, proposition:

passerelle-manage csv-datasource change-csv <slug> blabla.csv


Fichiers

Révisions associées

Révision f219ffce (diff)
Ajouté par Benjamin Dauvergne il y a plus de 5 ans

new command to change csv_file (fixes #26582)

Historique

#2

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

  • Assigné à mis à Benjamin Dauvergne
#3

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

Je n'ai pas encore ajouté les tests mais je veux bien des retours sur la forme générale du truc. Je suis parti sur l'idée d'avoir une commande à tout faire
sur les resources.

$ passerelle-manage resource list-type --resource-type csvdatasource.csvdatasource
  - title
    type: string
  - description
    type: string
  - log_level
    type: string
    choices:
     NOTSET: NOTSET
     DEBUG: DEBUG
     INFO: INFO
     WARNING: WARNING
     ERROR: ERROR
     CRITICAL: CRITICAL
  - csv_file
    type: file
    help text: Supported file formats: csv, ods, xls, xlsx
  - columns_keynames
    type: string
    help text: ex: id,text,data1,data2
  - skip_header
    type: string
  - sheet_name
    type: string

$ resource new csvdatasource.csvdatasource --string-field title coucou --string-field log_level WARNING --file-field csv_file ~/tableau.csv --string-field description "blablabla" 

$ ./manage.py resource list csvdatasource.csvdatasource

id                  : 11
title               : coucou2
description         : blablabla
slug                : coucou2
log_level           : WARNING
csv_file            : csv/.bashrc_Nc1M7EC
columns_keynames    : id, text
skip_header         : False
_dialect_options    : {u'lineterminator': u'\r\n', u'skipinitialspace': False, u'quoting': 0, u'delimiter': u' ', u'quotechar': u'"', u'doublequote': False}
sheet_name          : 
users               : []

$ resource update csvdatasource.csvdatasource coucou --file-field csv_file ~/tableau.csv

$ resource delete csvdatasource.csvdatasource coucou --file-field csv_file ~/tableau.csv
#4

Mis à jour par Frédéric Péters il y a plus de 5 ans

J'en serais resté à la demande, j'ai peur qu'on se galère sur des changements futurs à devoir garder en marche une commande à tout faire.

#6

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

Niveau système de fichier, à la lecture du code je ne comprends pas si les csv se retrouveront au même endroit que si ils étaient uploadés dans l'UI.

Peut-être si tu pouvais mettre cela en exergue dans un test ?

#7

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

Emmanuel Cazenave a écrit :

Niveau système de fichier, à la lecture du code je ne comprends pas si les csv se retrouveront au même endroit que si ils étaient uploadés dans l'UI.

C'est à dire au même endroit ? Le répertoire dépend du champ du modèle, chemin différera par contre, il va vouloir sauver le fichier avec le même nom, voir qu'un existe déjà, ajouter _1/2/3.etc.. et écrire.

Peut-être si tu pouvais mettre cela en exergue dans un test ?

Hmm.. je ne comprends pas.

#8

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

Quand tu upload un fichier csv dans l'UI à la création du connecteur, il finit dans /var/lib/passerelle/tenants/nom-du-tenant/media/csv/.

Ma question est : "est ce que ta commande assure bien ça ?"

#9

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

Emmanuel Cazenave a écrit :

Quand tu upload un fichier csv dans l'UI à la création du connecteur, il finit dans /var/lib/passerelle/tenants/nom-du-tenant/media/csv/.

À partir du moment où tu lances bien la commande via "tenant_command" oui, c'est le backend de storage issu de hobo.multitenant qui gère cela.

Ma question est : "est ce que ta commande assure bien ça ?"

Non elle ne s'en occupe pas, c'est totomatique (je vois pas plus comment le code dans passerelle assure bien cela).

#10

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

  • Statut changé de Solution proposée à Solution validée

Bon j'ai fait le test à la main et effectivement la totomagie marche.

#11

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

  • Statut changé de Solution validée à Résolu (à déployer)
  • % réalisé changé de 0 à 100
#12

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF