Commit 90945331 authored by Thorfin89's avatar Thorfin89

Mise à jour de la documentation

parent 61e575c1
![WebRadioPi](dcts/images/rw-logo-mini.png) ![WebRadioPi](dcts/images/rw-logo-mini.png)
# WebRadioPi # WebRadioPi
Lecteur de radios internet sur un écran en 800x480. Lecteur de radios internet sur un écran en 800x480, prévu pour être installé sur un eee-pc 701 recyclé, fonctionnant sous une version allégée de Debian 9.
Ce projet est en cours de développement. Ce projet est en cours de développement.
A ce jour, il est opérationnel dans ses fonctions de base..
Il n'est pas opérationnel à ce jour.
Pour toute information : thorfin89@free.fr Pour toute information : thorfin89@free.fr
...@@ -15,74 +14,16 @@ Interface au 15/01/2023 ...@@ -15,74 +14,16 @@ Interface au 15/01/2023
#### Sur un eee-PC reconverti en poste de radio Web #### Sur un eee-PC reconverti en poste de radio Web
![WebRadioPi](dcts/images/WebRadioPi-on-eeePC.png) ![WebRadioPi](dcts/images/WebRadioPi-on-eeePC.png)
### SOLUTIONS :
### Importation des radios au format CSV :
```python
import csv
def radios_display(self): # récupération de la liste des radios (+infos)
with open("./data/radios.csv", 'r', encoding='utf8') as radios_file:
radios_list = csv.DictReader(radios_file)
radios_list = [dict(ligne) for ligne in radios_list] # transforme en liste de dictionnaires
# print(radios_dico)
nb_radios = (len(radios_list)) # détermine le nombre de radios (dictionnaires)
print(radios_list[3]['Nom']) # extrait le nom de la 4ème radio
for c in range(nb_radios): # affiche la liste des 14 radios
print(radios_list[c]['No'], ":", radios_list[c]['Nom'])
```
### Comment appeler une fonction avec une variable en utilisant un bouton sous tkinter ?:
##### Solution trouvée via tchat GPT :-D
Avec Tkinter, vous pouvez utiliser la méthode `command` pour spécifier une fonction à exécuter lorsque le bouton est cliqué. Voici un exemple de comment appeler une fonction avec une variable en utilisant un bouton sous Tkinter:
```python
import tkinter as tk
def function_to_call(variable):
print(variable)
root = tk.Tk() ### INSTALLATION :
button = tk.Button(root, text="Click me!", command=lambda: function_to_call(variable)) Il faut installer le paquet python-vlc
button.pack()
variable = "Some value" ```bash
sudo pip3 install python-vlc
root.mainloop()
``` ```
Dans cet exemple, `function_to_call` est la fonction qui sera appelée lorsque le bouton est cliqué, et `variable` est la variable qui sera passée en argument à cette fonction. La fonction lambda créée un wrapper qui exécute la fonction avec la variable passée comme argument Il convient d'installer aussi VLC :
https://www.videolan.org/vlc/index.fr.html
Il est également possible de passer des arguments à la fonction directement en utilisant `button = tk.Button(root, text="Click me!", command=lambda x=variable: function_to_call(x))`, cela permet de passer des arguments à la fonction commande.
### SOURCES :
#### Liste de radios :
- http://fluxradios.blogspot.fr
#### Doc python-vlc :
- https://www.olivieraubert.net/vlc/python-ctypes/doc/vlc.MediaPlayer-class.html
- https://stackoverflow.com/questions/46758360/how-to-play-streaming-audio-from-internet-radio-on-python-3-5-3
#### Bouton ON/OFF
- https://www.youtube.com/watch?v=DMpq0Cot8YU
- https://www.youtube.com/watch?v=n1ucrkly2nc
#### Afficher les informations sur la radio
- https://github.com/oaubert/python-vlc/issues/72
#### Fichiers csv
- https://www.youtube.com/watch?v=sgUSSa7N9ec
#### Doc tkinter :
- http://tkinter.fdex.eu/index.html
- http://pascal.ortiz.free.fr/contents/tkinter/tkinter/
#### Streams radios :
- https://github.com/riencroonenborghs/streaming_radio/blob/master/assets/data/stations.json
Ce dossier permet de stocker tous les documents qui ne sont pas indispensables au projet.
\ No newline at end of file
### SOLUTIONS :
### Importation des radios au format CSV :
```python
import csv
def radios_display(self): # récupération de la liste des radios (+infos)
with open("./data/radios.csv", 'r', encoding='utf8') as radios_file:
radios_list = csv.DictReader(radios_file)
radios_list = [dict(ligne) for ligne in radios_list] # transforme en liste de dictionnaires
# print(radios_dico)
nb_radios = (len(radios_list)) # détermine le nombre de radios (dictionnaires)
print(radios_list[3]['Nom']) # extrait le nom de la 4ème radio
for c in range(nb_radios): # affiche la liste des 14 radios
print(radios_list[c]['No'], ":", radios_list[c]['Nom'])
```
### Comment appeler une fonction avec une variable en utilisant un bouton sous tkinter ?:
##### Solution trouvée via tchat GPT :-D
Avec Tkinter, vous pouvez utiliser la méthode `command` pour spécifier une fonction à exécuter lorsque le bouton est cliqué. Voici un exemple de comment appeler une fonction avec une variable en utilisant un bouton sous Tkinter:
```python
import tkinter as tk
def function_to_call(variable):
print(variable)
root = tk.Tk()
button = tk.Button(root, text="Click me!", command=lambda: function_to_call(variable))
button.pack()
variable = "Some value"
root.mainloop()
```
Dans cet exemple, `function_to_call` est la fonction qui sera appelée lorsque le bouton est cliqué, et `variable` est la variable qui sera passée en argument à cette fonction. La fonction lambda créée un wrapper qui exécute la fonction avec la variable passée comme argument
Il est également possible de passer des arguments à la fonction directement en utilisant `button = tk.Button(root, text="Click me!", command=lambda x=variable: function_to_call(x))`, cela permet de passer des arguments à la fonction commande.
### SOURCES :
#### Liste de radios :
- http://fluxradios.blogspot.fr
#### Doc python-vlc :
- https://www.olivieraubert.net/vlc/python-ctypes/doc/vlc.MediaPlayer-class.html
- https://stackoverflow.com/questions/46758360/how-to-play-streaming-audio-from-internet-radio-on-python-3-5-3
#### Bouton ON/OFF
- https://www.youtube.com/watch?v=DMpq0Cot8YU
- https://www.youtube.com/watch?v=n1ucrkly2nc
#### Afficher les informations sur la radio
- https://github.com/oaubert/python-vlc/issues/72
#### Fichiers csv
- https://www.youtube.com/watch?v=sgUSSa7N9ec
#### Doc tkinter :
- http://tkinter.fdex.eu/index.html
- http://pascal.ortiz.free.fr/contents/tkinter/tkinter/
#### Streams radios :
- https://github.com/riencroonenborghs/streaming_radio/blob/master/assets/data/stations.json
\ 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