À la base je voulais juste faire un script utilisable dans Nautilus Actions pour restaurer les éléments de la corbeille directement dans Nautilus, du coup c'est normal que ça ne corresponde pas à ton problème.
Je pense qu'il manque juste la suppression du fichier .trashinfo à la fin de ta boucle (il n'a plus de raison d'être une fois le fichier restauré).
Voilà mon script modifié (testé pour intrepid) :
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys,urllib,user,re,os
if len(sys.argv) == 1 :
repertoire = user.home+"/.local/share/Trash"
elif len(sys.argv) == 2 :
repertoire = sys.argv[1]
else:
exit(1)
for fichier in os.listdir(repertoire+'/files'):
finfo=repertoire+"/info/"+fichier+".trashinfo"
info=open(finfo,"r")
os.renames(repertoire+"/files/"+fichier,urllib.unquote(re.search("^Path=(.*)$",info.read(),re.M).group(1)))
info.close()
os.remove(finfo)
Sans arguments ça restaurera tous les éléments de l'emplacement de la corbeille par défaut et si on lui met un nom de dossier ça restaurera tous les éléments situé à l'emplacement de ce dossier (par exemple : "./restaurer.py /media/sda6/bordel").