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

Essais sur la récupération des logos des radios

parent f7d284e1
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+37 −0
Numéro de 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://direct.francemusique.fr/live/francemusique-midfi.mp3")
# 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)
+6 −5
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -5,11 +5,12 @@ No,Pays,Type,Nom,Url,Logo
4,France,Informations,France Info,http://direct.franceinfo.fr/live/franceinfo-midfi.mp3,france-info.jpeg
5,France,Généraliste,France Inter,http://direct.franceinter.fr/live/franceinter-midfi.mp3,france-inter.png
6,France,Généraliste,Europe 1,http://mp3lg4.tdf-cdn.com/9240/lag_180945.mp3,europe-1.jpeg
7,UK,Rock,Dépèche Mode,http://streaming.radionomy.com/wwwdepechemodebe-radio,
7,UK,Rock,Dépèche Mode,http://streaming.radionomy.com/wwwdepechemodebe-radio,radio.png
8,DE,Celtic,Live Ireland ch1,http://66.90.73.250:8080,live-ireland.png
9,DE,Celtic,Bretagne Blog,http://laut.fm/bretagneblog,
10,DE,Celtic,Highlander Radio Live Stream,http://50.7.71.27:9657,
11,DE,Celtic,Celtic Moon,http://streaming211.radionomy.com:80/CelticMoon,
9,DE,Celtic,Bretagne Blog,http://laut.fm/bretagneblog,radio.png
10,DE,Celtic,Highlander Radio Live Stream,http://50.7.71.27:9657,radio.png
11,DE,Celtic,Celtic Moon,http://streaming211.radionomy.com:80/CelticMoon,radio.png
12,DE,Celtic-punk,Celtic-Folk-Punk,http://streaming211.radionomy.com:80/Celtic-Folk-Punk,
13,DE,Hard-rock,100% Hardrock,http://streaming207.radionomy.com:80/100-HARD-ROCK,
14,DE,Rock,Virgin Rock 70,http://icy.unitedradio.it/VirginRock70.mp3,
 No newline at end of file
14,DE,Rock,Virgin Rock 70,http://icy.unitedradio.it/VirginRock70.mp3,radio.png
15,FR,Classic,Frane Musique,http://direct.francemusique.fr/live/francemusique-midfi.mp3,
 No newline at end of file
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -5,7 +5,7 @@

# import ----------------------------------
import csv
from rw_pupitre import Pupitre
from pupitre import Pupitre
# installer le paquet python-vlc : sudo pip3 install python-vlc
from vlc import Instance

+23 −30
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
from time import sleep
from vlc import EventType, Media, MediaPlayer, MediaParseFlag, Meta
import csv

def _media_cb(event, *unused):
    # XXX callback ... never called
    print(event)
logos = [["", "", "", "", ""],
         ["", "", "", "", ""],
         ["", "", "", "", ""],
         ["", "", "", "", ""]]

p = MediaPlayer()
# cmd1 = "sout=file/ts:%s" % outfile
media = Media("http://live.leanstream.co/CJOTFM-MP3")  # , cmd1)
# media.get_mrl()
p.set_media(media)
p.play()

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

e = p.event_manager()
e.event_attach(EventType.MediaMetaChanged, _media_cb, media)
e.event_attach(EventType.MediaParsedChanged, _media_cb, media)
        for c in range(4):
            print(logos[c])

# 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)
radios_display()
+8 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
# Projet  : WebRadioPi
# Fichier : rw_pupitre.py
# Fichier : pupitre.py
# Auteur  : Daniel SAZERAT (thorfin89@free.fr)

# import ----------------------------------
@@ -28,6 +28,8 @@ class Pupitre:
        self.icon_sound = tk.PhotoImage(file="icons/sound_up.png")
        self.icon_mute = tk.PhotoImage(file="icons/mute.png")

        self.logo = tk.PhotoImage(file="images/radio.png")

        self.zones()

    # noinspection PyTypeChecker
@@ -87,10 +89,13 @@ class Pupitre:
        # affichage des vignettes des radios
        for x_logos in range(5):
            for y_logos in range(4):
                self.logo = tk.PhotoImage(file="images/radio.png")
                btn_logo = ttk.Button(zone_logos, image=self.logo, command=self.switch_sound)
                btn_logo = tk.Button(zone_logos, image=self.logo, command=self.switch_sound)
                btn_logo.place(width=100, height=100, x=x_logos*100, y=y_logos*100)





    def switch_sound(self):
        # bascule on/off du son
        global mute