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

Nouvelle mise à jour de la documentation. Suppression de fichiers.

parent 90945331
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours

archives/poub.py

supprimé100644 → 0
+0 −29
Numéro de ligne d'origine Ligne d'origine Numéro de ligne de diff Ligne de diff
import csv

logos = [["", "", "", "", ""],
         ["", "", "", "", ""],
         ["", "", "", "", ""],
         ["", "", "", "", ""]]


def radios_display():  # 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
        compteur = 0
        for y in range(4):
            for x in range(5):
                try:
                    if radios_list[compteur]['Logo'] != "":
                        logos[y][x] = radios_list[compteur]['Logo']
                    else:
                        logos[y][x] = "radio.png"
                except:
                    logos[y][x] = "blank.png"
                compteur += 1

        for c in range(4):
            print(logos[c])


radios_display()

archives/radio_event.py

supprimé100644 → 0
+0 −37
Numéro de ligne d'origine Ligne d'origine Numéro de ligne de diff Ligne de diff
from time import sleep
from vlc import EventType, Media, MediaPlayer, MediaParseFlag, Meta

def _media_cb(event, *unused):
    # XXX callback ... never called
    print(event)

p = MediaPlayer()
# cmd1 = "sout=file/ts:%s" % outfile
#media = Media("http://live.leanstream.co/CJOTFM-MP3")  # , cmd1)
media = Media("http://scdn.nrjaudio.fm/adwz2/fr/30601/mp3_128.mp3?origine=fluxradios")
# media.get_mrl()
p.set_media(media)
p.play()


e = p.event_manager()
e.event_attach(EventType.MediaMetaChanged, _media_cb, media)
e.event_attach(EventType.MediaParsedChanged, _media_cb, media)

# define the meta data to show
meta = {Meta.Album: None,
        Meta.Genre: None,
        Meta.NowPlaying: None}


while True:  # loop forever
    # XXX using MediaParseFlag.local is not any different
    media.parse_with_options(MediaParseFlag.network, 2)  # 2 sec timeout
    # XXX media.get_parsed_status() always returns .skipped
    for k in meta.keys():
        v = media.get_meta(k)
        if v != meta[k]:
            # print("{} - {}".format(k, v))
            print("{}".format(v))
            meta[k] = v
    sleep(2)

archives/soluce-1.py

supprimé100644 → 0
+0 −16
Numéro de ligne d'origine Ligne d'origine Numéro de ligne de diff Ligne de diff
import tkinter as tk

def button_function(num):
    print(f"Button {num} clicked")

root = tk.Tk()

# Create a 3x3 grid of buttons

for i in range(3):
    for j in range(3):
        button = tk.Button(root, text="Button " + str(i*3+j+1))
        button.grid(row=i, column=j)
        button.config(command=lambda i=i, j=j: button_function(i*3+j+1))

root.mainloop()
 No newline at end of file

archives/soluce-2.py

supprimé100644 → 0
+0 −16
Numéro de ligne d'origine Ligne d'origine Numéro de ligne de diff Ligne de diff
import tkinter as tk

def button_function(num):
    print(f"Button {num} clicked")

root = tk.Tk()

# Create a 3x3 grid of buttons

for i in range(4):
    for j in range(5):
        button = tk.Button(root, text="Button " + str(i*5+j+1))
        button.grid(row=i, column=j)
        button.config(command=lambda i=i, j=j: button_function(i*3+j+1))

root.mainloop()
 No newline at end of file
+102 −2
Numéro de ligne d'origine Ligne d'origine Numéro de ligne de diff Ligne de diff
### SOLUTIONS :
## SOLUTIONS :

Je note ici toutes les solutions trouvées ici et là, pour répondre à mes problèmes.


### Importation des radios au format CSV :
### Importation des radios au format CSV :


https://www.youtube.com/watch?v=sgUSSa7N9ec

```python
```python
import csv
import csv


@@ -16,10 +20,61 @@ def radios_display(self): # récupération de la liste des radios (+infos)
        print(radios_list[c]['No'], ":", radios_list[c]['Nom'])
        print(radios_list[c]['No'], ":", radios_list[c]['Nom'])
```
```


### Créer une mosaique de boutons avec Tkinter (matrice de 5x4 ) :

```python
import tkinter as tk

def button_function(num):
    print(f"Button {num} clicked")

root = tk.Tk()


# Create a 3x3 grid of buttons

for i in range(4):
    for j in range(5):
        button = tk.Button(root, text="Button " + str(i*5+j+1))
        button.grid(row=i, column=j)
        button.config(command=lambda i=i, j=j: button_function(i*3+j+1))

root.mainloop()
```

### Intégration de la matrice de boutons dans le projet :

```python
import csv

logos = [["", "", "", "", ""],
         ["", "", "", "", ""],
         ["", "", "", "", ""],
         ["", "", "", "", ""]]


def radios_display():  # 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
        compteur = 0
        for y in range(4):
            for x in range(5):
                try:
                    if radios_list[compteur]['Logo'] != "":
                        logos[y][x] = radios_list[compteur]['Logo']
                    else:
                        logos[y][x] = "radio.png"
                except:
                    logos[y][x] = "blank.png"
                compteur += 1

        for c in range(4):
            print(logos[c])

radios_display()
```


### Comment appeler une fonction avec une variable en utilisant un bouton sous tkinter ?:
### 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:
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:


@@ -42,3 +97,48 @@ 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
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.
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.

### Affichage des informations sur la radio en cours d'écoute :

- https://github.com/oaubert/python-vlc/issues/72

```python
from time import sleep
from vlc import EventType, Media, MediaPlayer, MediaParseFlag, Meta

def _media_cb(event, *unused):
    # XXX callback ... never called
    print(event)

p = MediaPlayer()
# cmd1 = "sout=file/ts:%s" % outfile
#media = Media("http://live.leanstream.co/CJOTFM-MP3")  # , cmd1)
media = Media("http://scdn.nrjaudio.fm/adwz2/fr/30601/mp3_128.mp3?origine=fluxradios")
# media.get_mrl()
p.set_media(media)
p.play()


e = p.event_manager()
e.event_attach(EventType.MediaMetaChanged, _media_cb, media)
e.event_attach(EventType.MediaParsedChanged, _media_cb, media)

# define the meta data to show
meta = {Meta.Album: None,
        Meta.Genre: None,
        Meta.NowPlaying: None}


while True:  # loop forever
    # XXX using MediaParseFlag.local is not any different
    media.parse_with_options(MediaParseFlag.network, 2)  # 2 sec timeout
    # XXX media.get_parsed_status() always returns .skipped
    for k in meta.keys():
        v = media.get_meta(k)
        if v != meta[k]:
            # print("{} - {}".format(k, v))
            print("{}".format(v))
            meta[k] = v
    sleep(2)
```
Chargement en cours