Utilisation module PrestaShop PrestaPricing » 

[TIPS]importation d'un CSV et authentification http

Auteur Message

Pascal P.

Inscrit le : 19/08/2015

Messages : 3

Publié : 18/09/2015 02:05:43 "Citer"

Bonjour,

Pour info et pour ceux qui auraient des problèmes avec les planifications d'import êt la récupération de fichier xls ou csv sur un siteweb avec authentification je partage la solution de contournement que j'ai mise en place :

prestapricing ne permettant pas de sauvegarder les modification faites avec magic-edit j'ai donc été obligé de travailler mon fichier en amont pour le rendre "présentable" :

1 - je le récupère tout les jours en http avec authentification pour le déposer sur le répertoire de mon FTP, ensuite prestapricing pourra le récuperer avec l'outil de planification.

Code :

wget --http-user=login --http-password=motdepasse http://lelienverslefichier/products.csv --output-document=/dossier_ftp/products.csv


2 - ensuite je déplace des colonnes a l'intérieur du fichiers et en supprime d'autres inutiles pour le mettre en bonne forme pour l'import prestapricing avec la commande awk sous debian (il existe sed aussi) :
Code :

awk 'BEGIN { FS=","; OFS=";"; } {print $1,$2,$3,$15,$4}' products.csv > products_propre.csv


beaucoup d'autres manipulations sont possibles sur les fichiers csv. on pourrait même présenté un fichier parfait pour l'import et ainsi éviter le mappage et les filtres. mais là ya du boulot...

si vous n'avez pas de csv en entrée il faudra installer xlstocsv sur votre serveur qui permet avec la commande ssconvert de passer de xls à csv.

Bilan : j'ai contourné 2 problèmes :

1 - récupérer un fichier en http avec login et mot de passe.
2 - formater mon fichier en amont pour l'outil d'import de prestapricing.


Cordialement,

PP

Sitolog

Inscrit le : 04/12/2011

Messages : 524

Publié : 18/09/2015 10:37:47 "Citer"

Merci Pascal pour ce partage.

C'est assez technique, mais cela devrait aider tout ceux qui sont en attente de la fonction de récupération auto des fichiers via http (comme c'est déjà le le cas via ftp).
Et au delà de ça, tous ceux qui ont des fichiers avec une structure non "standard".

Tu ne le dis pas dans ton message, mais tu me l'as expliqué en privé : tu utilises une tache Cron pour que ces opérations s'effectuent toutes seules.

Donc pour résumer, ta solution permet de tout automatiser:

-Récupération par tache cron du fichier accessible uniquement via http
-Éventuellement conversion en csv si c'est un Excel
-Manipulation toujours par tache Cron du fichier csv, par exemple pour changer l'ordre des colonnes comme tu le fais. Mais les possibilités sont larges et je pense en particulier à ceux qui ont des colonnes exotiques pour les attributs des déclinaisons.
-Automatisation de la récupération via FTP du fichiers et de sont import, via PrestaPricing.

Génial tout ça

Crdlt
Franck

Pascal P.

Inscrit le : 19/08/2015

Messages : 3

Publié : 18/09/2015 12:50:29 "Citer"

Bonjour,

de rien c'est avec plaisir.

pour la tache cron un petit exemple rapidos :

on fait crontab -e avec l'utilisateur qui va bien (celui qui gère le www et le ftp sur le serveur)

Code :

0 2 * * * /var/catalogue/brands.sh | mail -s "recup fichier ok" [email protected]


dans ce cas prècis : tous les jours à 2H du mat j'execute le fichier brand.sh qui contient mon wget (récup du fichier avec authent http) et mes commandes awk (mises en formes du csv et dépot sur mon ftp). et je m'envoi un petit mail pour info que tout c'est bien passé.

pour aller plus loin avec cron et crontab :

Code :

mm hh jj MMM JJJ tâche


Quote :

mm représente les minutes (de 0 à 59)
hh représente l'heure (de 0 à 23)
jj représente le numéro du jour du mois (de 1 à 31)
MMM représente l'abréviation du nom du mois (jan, feb, ...) ou bien le numéro du mois (de 1 à 12)
JJJ représente l'abréviation du nom du jour ou bien le numéro du jour dans la semaine :
0 = Dimanche
1 = Lundi
2 = Mardi
...
6 = Samedi
7 = Dimanche (représenté deux fois pour les deux types de semaine)


source extraite de https://fr.wikipedia.org/wiki/Cron#crontab


Cordialement,

PP

Sitolog

Inscrit le : 04/12/2011

Messages : 524

Publié : 16/12/2015 12:06:55 "Citer"

Pour info ou rappel, la récupération par http (et https) est à présent disponible dans la beta 7.0 sortie avant hier.

Réglages
  • Identification
    • £ GBP
    • $ USD
Menu