Valider e08e98b6 rédigé par Thorfin89's avatar Thorfin89
Parcourir les fichiers

Solution pour le path courant enfin trouvée

parent 633eb3e8
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+9 −0
Numéro de ligne d'origine Ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -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
+18 −12
Numéro de ligne d'origine Ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -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:
        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:


        # 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:


                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:
    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))
+1 −1
Numéro de ligne d'origine Ligne d'origine Numéro de ligne de diff Ligne de diff
77
75
 No newline at end of file
 No newline at end of file