====== Inversion Nom::Url ======
===== Besoin =====
Mon espace de stockage me retourne mes données sous la forme :
...
Oi-Polloi_Guilty(A).mp3 : https://1fichier.com/?syjod0wbb0zoe2d407p4
Oi-Polloi_Guilty(B).mp3 : https://1fichier.com/?xz6ipixn2bwg9xxmhnpc
...
Donc
**Le nom du fichier** + '** :** ' + **URL**
Mais pour les mettre en forme sur dokuWiki, il me faut les formater de la forme suivante :
* [[ URL | Nom de Fichier ]]
Voici donc un petit script python qui permet de faire le travail.
On passe le fichier à traiter en **paramètre** et on obtient un joli fichier tout fonctionnel output sous le nom **paramètreOut.txt
**
===== Le script =====
==== En python ====
Toujours vérifier sur le git que ce soit bien la dernière version ;)
#!/usr/bin/env python
import sys
# Verif que le fichier d'entrée est bien passé en paramètre
if len(sys.argv) == 1:
print('Usage:' + sys.argv[0] + ' + Le_nom_du_fichier_à_importer')
print('Mettre le nom du fichier d\'entrée en argument.')
exit()
else:
fileOut = sys.argv[1].split('.')
fileOut = fileOut[0] + 'Out.txt'
print('Le fichier, après traitement se nommera : {}'. format(fileOut))
# Lecture et recuperation des données
file = open(sys.argv[1], "r")
varFile = file.readlines()
file.close()
# Traitement et creation d'une liste
listVar = []
for ligne in varFile:
ligne = ligne.strip()
ligne = ligne.split(' : ')
strVar = ' * [[' + ligne[1] + ' | ' + ligne[0] + ']]'
listVar.append(strVar)
# Ecriture des données traitées dans un fichier de sortie
fichierDeSortie = open(fileOut, "a")
for elem in listVar:
fichierDeSortie.write(elem + "\r\n" )
fichierDeSortie.close()
==== En bash ====
cat file.txt | awk '{split($0,a," : ") ; print "[[ "a[2] " | " a[1] "]]"}' > fileOut.txt