Hello à tous,
Je souhaite faire un petit script qui télécharge (wget) une image avec le protocole http toutes les heure et la met en fond d'écran.
Mon problème : le script télécharge l'image comme il faut, met l'image en fond d'écran, mais lors du nouveau téléchargement, il ne met plus à jour l'image...
J'ai alors pensé que le problème venait du fait que comme le chemin et nom de l'image ne changent pas, il considédrait que c'était la même, alors il ne fait rien.
Donc, j'ai fais en sorte qu'un coup sur 2 l'image téléchargée s'appelle respectivement : photo_a.jpg, photo_b.jpg (en prenant soins de supprimer l'image précédente).
Il met bien à jour avec les 2 images, le fond changent, mais si entre temps les images photo_a.jpg et photo_b.jpg ont changé il continue de mettre à jour avec les premières versions téléchargées. Comme s'il y avait une histoire de cache...
[EDIT] Pour info si ça peut éclairer : je viens de m'apercevoir qu'après déconnexion de la session, l'arrière-plan s'est mis à jour (avec la version 2 cf ci-dessous)
Schéma pour mieux comprendre :
wget photo_a.jpg (version 1) fond d'ecran devient photo_a.jpg (version 1) wget photo_b.jpg (version 1) fond d'écran devient photo_b.jpg (version 1) wget photo_a.jpg (version 2 (donc mise à jour)) fond d'écran devient photo_a.jpg (version 1)
wget photo_b.jpg (version 2) fond d'écran devient photo_b.jpg (version 1)
Voici le code :
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
import os
# Configuration des variables
chemin = '/home/bryan/.local/share/backgrounds'
temps = 20
url = 'http://cotaka.net/partage/photo.jpg'
while True :
if os.path.isfile(''+chemin+'/photo_a.jpg') is False :
if os.path.isfile(''+chemin+'/photo_b.jpg') is True :
os.system('rm '+chemin+'/photo_b.jpg')
os.system('wget -O photo_a.jpg '+url+'')
os.system('mv photo_a.jpg '+chemin+'')
os.system('gsettings set org.gnome.desktop.background picture-uri "file://'+chemin+'/photo_a.jpg"')
time.sleep(temps)
else :
os.system('rm '+chemin+'/photo_a.jpg')
os.system('wget -O photo_b.jpg '+url+'')
os.system('mv photo_b.jpg '+chemin+'')
os.system('gsettings set org.gnome.desktop.background picture-uri "file://'+chemin+'/photo_b.jpg"')
time.sleep(temps)
A noter que le temps est bien de 20 secondes pour les tests.
Solutions probables :
il y aurait-t-il un autre emplacement où stocker l'image qui "surpasserait" un cache quelconque ?
il y a-t-il une commande pour forcer la mise à jour du fond d'écran ?
il y a-t-il une option à changer pour modifier le comportement de gnome ?
Merci par avance pour vos réponses .
Bon dimanche à tous.