Commit e08e98b6 authored by Thorfin89's avatar Thorfin89

Solution pour le path courant enfin trouvée

parent 633eb3e8
...@@ -142,3 +142,12 @@ while True: # loop forever ...@@ -142,3 +142,12 @@ while True: # loop forever
sleep(2) sleep(2)
``` ```
### Problème de chemin courant
Pour lancer l'application sans être dans son répertoire.
```python
import os
# récupérer le chemin du répertoire courant
path = os.getcwd()
print("Le répertoire courant est : " + path)
```
\ No newline at end of file
...@@ -6,12 +6,18 @@ ...@@ -6,12 +6,18 @@
import tkinter as tk import tkinter as tk
from tkinter import ttk, Scale, HORIZONTAL, CENTER from tkinter import ttk, Scale, HORIZONTAL, CENTER
import csv import csv
import os
# récupérer le chemin du répertoire courant
''' Pour éviter d'avoir des problèmes de chemin
quand on lance le programme de n'importe quel endroit'''
current_path = os.getcwd()
mute = False # le son n'est pas coupé au démarrage mute = False # le son n'est pas coupé au démarrage
bg_color = "gray" bg_color = "gray"
# Chargement du fichier CSV contenant les informations : Nom, Pays, Type, Url, Logo # Chargement du fichier CSV contenant les informations : Nom, Pays, Type, Url, Logo
with open("./data/radios.csv", 'r', encoding='utf-8-sig') as radios_file: with open(current_path + "/data/radios.csv", 'r', encoding='utf-8-sig') as radios_file:
''' utf-8-sig au lieu de utf-8 pour éviter l'erreur sur le nom du 1er champ '\ufeffNom' ''' utf-8-sig au lieu de utf-8 pour éviter l'erreur sur le nom du 1er champ '\ufeffNom'
pour extraire une donnée : radios_list[numéro de la radio][nom du champ]''' pour extraire une donnée : radios_list[numéro de la radio][nom du champ]'''
...@@ -34,13 +40,13 @@ class Pupitre: ...@@ -34,13 +40,13 @@ class Pupitre:
self.root.attributes('-fullscreen', False) # < à basculer sur False pour les tests sur PC self.root.attributes('-fullscreen', False) # < à basculer sur False pour les tests sur PC
# images des boutons # images des boutons
self.icon_back = tk.PhotoImage(file="./icons/back.png") self.icon_back = tk.PhotoImage(file=current_path + "/icons/back.png")
self.icon_play = tk.PhotoImage(file="./icons/play.png") self.icon_play = tk.PhotoImage(file=current_path + "/icons/play.png")
self.icon_pause = tk.PhotoImage(file="./icons/pause.png") self.icon_pause = tk.PhotoImage(file=current_path + "/icons/pause.png")
self.icon_stop = tk.PhotoImage(file="./icons/stop.png") self.icon_stop = tk.PhotoImage(file=current_path + "/icons/stop.png")
self.icon_forward = tk.PhotoImage(file="./icons/forward.png") self.icon_forward = tk.PhotoImage(file=current_path + "/icons/forward.png")
self.icon_sound = tk.PhotoImage(file="./icons/sound_up.png") self.icon_sound = tk.PhotoImage(file=current_path + "/icons/sound_up.png")
self.icon_mute = tk.PhotoImage(file="./icons/mute.png") self.icon_mute = tk.PhotoImage(file=current_path + "/icons/mute.png")
self.zones() # affichage des 3 zones self.zones() # affichage des 3 zones
self.mosaique() # affichage d'une mosaïque de logos des radios self.mosaique() # affichage d'une mosaïque de logos des radios
...@@ -93,7 +99,7 @@ class Pupitre: ...@@ -93,7 +99,7 @@ class Pupitre:
# potentiomètre de volume # potentiomètre de volume
# - on charge la configuration du volume sauvegardée # - on charge la configuration du volume sauvegardée
lecture = open("webradiopi.cfg", "r") lecture = open(current_path + "/webradiopi.cfg", "r")
volume_init = lecture.read() volume_init = lecture.read()
lecture.close() lecture.close()
# - affichage du potentiomètre de volume # - affichage du potentiomètre de volume
...@@ -118,9 +124,9 @@ class Pupitre: ...@@ -118,9 +124,9 @@ class Pupitre:
try: try:
if radios_list[num_radio]['Logo'] != "": # si un logo est associé à la radio if radios_list[num_radio]['Logo'] != "": # si un logo est associé à la radio
self.logo[num_radio] = tk.PhotoImage(file="./images/" + radios_list[num_radio]['Logo']) self.logo[num_radio] = tk.PhotoImage(file=current_path + "/images/" + radios_list[num_radio]['Logo'])
else: # s'il n'y a pas de logo pour la radio else: # s'il n'y a pas de logo pour la radio
self.logo[num_radio] = tk.PhotoImage(file="./images/radio.png") self.logo[num_radio] = tk.PhotoImage(file=current_path + "/images/radio.png")
# création du bouton avec le logo de la radio # création du bouton avec le logo de la radio
btn_logo = tk.Button(self.zone_mosaique, image=self.logo[num_radio]) btn_logo = tk.Button(self.zone_mosaique, image=self.logo[num_radio])
# utilisation d'une fonction 'lambda' indexée sur la position du logo # utilisation d'une fonction 'lambda' indexée sur la position du logo
...@@ -135,7 +141,7 @@ class Pupitre: ...@@ -135,7 +141,7 @@ class Pupitre:
def radio_selected(self, num_radio): def radio_selected(self, num_radio):
self.radio_flux(radios_list[num_radio]['Url']) self.radio_flux(radios_list[num_radio]['Url'])
# affichage de la radio sélectionnée # affichage de la radio sélectionnée
self.logo_selected = tk.PhotoImage(file="./images/Large/" + radios_list[num_radio]['Logo']) self.logo_selected = tk.PhotoImage(file=current_path + "/images/Large/" + radios_list[num_radio]['Logo'])
self.lbl_radio_selected.config(image=self.logo_selected) self.lbl_radio_selected.config(image=self.logo_selected)
# print(radios_list[1]['Nom']) # print(radios_list[1]['Nom'])
self.lbl_info_radio.config(text=radios_list[num_radio]['Nom'], font=('Helvatical bold', 20)) self.lbl_info_radio.config(text=radios_list[num_radio]['Nom'], font=('Helvatical bold', 20))
......
77 75
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment