Table des matières

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