Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
W
WebRadioPi
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Thorfin89
WebRadioPi
Commits
e08e98b6
Commit
e08e98b6
authored
Jan 27, 2023
by
Thorfin89
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Solution pour le path courant enfin trouvée
parent
633eb3e8
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
28 additions
and
13 deletions
+28
-13
solutions.md
dcts/solutions.md
+9
-0
pupitre.py
pupitre.py
+18
-12
webradiopi.cfg
webradiopi.cfg
+1
-1
No files found.
dcts/solutions.md
View file @
e08e98b6
...
@@ -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
pupitre.py
View file @
e08e98b6
...
@@ -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 '
\ufeff
Nom'
''' utf-8-sig au lieu de utf-8 pour éviter l'erreur sur le nom du 1er champ '
\ufeff
Nom'
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
))
...
...
webradiopi.cfg
View file @
e08e98b6
77
75
\ No newline at end of file
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment