Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 16/09/2014, à 07:06

bishop.sad.clown

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

Gaara a écrit :

Ouais, c'et pour dpluzz. Et il n'y  a pas une commande pour trouver les logiciels qui ouvrent les .mkv ?

ici j'ai trouvé ça:

grep -i "player" *.desktop | grep -i video | grep -iv ";audio;" | awk -F ".desktop" '{print $1}' | sort | uniq
parole
smplayer
smplayer_enqueue
totem
vlc
xine

Mais il doit bien exister qlq chose de plus "propre"...

=· /

EDIT:
j'avais zappé le besoin de récursivité pour ton système

=· /

donc j'ai trouvé une commande qui fonctionne sur mon système... faut voir ce que ça donne sur le tien... ( et une fois encore y a pt-être plus simple/propre mais j'ai trouvé que ça...):

find /usr/share/applications/ -name "*.desktop" -exec grep -il "player" {} \; | sort | while IFS=$'\n' read APPLI ; do grep -ilq ";audio;" "$APPLI" || echo "$(basename "${APPLI%.*}")" ; done

je développe:

find /usr/share/applications/ -name "*.desktop" → pour ne travailler que sur les *.desktop ( j'ai un *.cache ici, notamment mimeinfo.cache )

-exec grep -il "player" {} \; → on recherche les players

sort → suis un peu psychorigide par moment ( en fait surtout quand ça m'arrange ^^ ) donc tri par ordre alphabétique

while IFS=$'\n' read APPLI → c'est pour récupérer la sortie de find ligne par ligne , car sinon elle est traitée d'un seul bloc

grep -ilq ";audio;" "$APPLI" || echo "$(basename "${APPLI%.*}")" → on recherche dans les players ceux qui ne font que "audio" et on ne les affiche pas...

Dernière modification par bishop.sad.clown (Le 16/09/2014, à 08:17)


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#27 Le 16/09/2014, à 08:26

Gaara

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

Merci bishop.sad.clown, voilà ce que ça donne chez moi:

$ find /usr/share/applications/ -name "*.desktop" -exec grep -il "player" {} \; | sort | while IFS=$'\n' read APPLI ; do grep -ilq ";audio;" "$APPLI" || echo "$(basename "${APPLI%.*}")" ; done
kmplayer
xbmc

A voir sur l'ordi de melixgaro, mais chez moi vlc n'apparait pas.
Les .desktop ne sont sont pas évidents à interpréter !

@melixgaro:
Les types MIME ne sont pas très fiables en effet.

$ xdg-mime query default "video/x-matroska"
vlc.desktop

Et la seconde commande m'ouvre vlc. Mais les deux autres lecteurs sont ignorés... donc je pense que cette piste n'est pas utilisable.


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#28 Le 16/09/2014, à 08:32

bishop.sad.clown

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

Très juste pour VLC ! j'avais pas vu qu'il était passsé à la trappe

=· /

on y est presque ; on va trouver ! on va trouver !

je retourne chercher ^^


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#29 Le 16/09/2014, à 08:44

Gaara

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

Oui, car vlc est aussi un lecteur audio, donc il est filtré !


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#30 Le 16/09/2014, à 08:48

bishop.sad.clown

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

find /usr/share/applications/ -name "*.desktop" -exec grep -il "player" {} \; | sort | while IFS=$'\n' read APPLI ; do grep -ilqw "video" "$APPLI" && echo "$(basename "${APPLI%.*}")" ; done 
parole
smplayer
smplayer_enqueue
totem
vlc
xine

ici de cette façon j'ai "tout" bon...


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#31 Le 16/09/2014, à 08:57

Gaara

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

$ find /usr/share/applications/ -name "*.desktop" -exec grep -il "player" {} \; | sort | while IFS=$'\n' read APPLI ; do grep -ilqw "video" "$APPLI" && echo "$(basename "${APPLI%.*}")" ; done
amarok_containers
kmplayer
vlc
xbmc

Bien ouèj, merci. Maintenant faut voir si ça convient à melixgaro, car il y a encore quelques "déchets": smplayer_enqueue, amarok_containers tongue


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#32 Le 16/09/2014, à 08:59

Gaara

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

Pour les enlever, c'est possible de détecter cette ligne ?

NoDisplay=true

Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#33 Le 16/09/2014, à 09:20

bishop.sad.clown

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

pour amarok, je fini de tester deux trois autres trucs et je l'installe pour voir si on peut aussi le filtrer...

pour ce qui est de smplayer_enqueue faut voir si c'est un déchet... il permet de mettre la vidéo à lire à la suite ; des fois qu'il y ait déjà une lecture en cours...

pour filtrer sur "NoDisplay=true" voir si ceci fonctionne:

find /usr/share/applications/ -name "*.desktop" -exec grep -il "player" {} \; | sort | while IFS=$'\n' read APPLI ; do grep -ilqw "video" "$APPLI" && echo "$APPLI" ; done | while IFS=$'\n' read APPLI ; do grep -iql "nodisplay=true" "$APPLI" || echo "$(basename "${APPLI%.*}")" ; done
parole
smplayer
totem
vlc
xine

EDIT:
Pour chaque nouveau filtre désiré, on intercale un "étage" de test  "while /grep"  avant la mise en forme finale → echo "$(basename "${APPLI%.*}")"

Dernière modification par bishop.sad.clown (Le 16/09/2014, à 09:23)


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#34 Le 16/09/2014, à 09:29

Gaara

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

Oui ça fonctionne, génial ! smile

~$ find /usr/share/applications/ -name "*.desktop" -exec grep -il "player" {} \; | sort | while IFS=$'\n' read APPLI ; do grep -ilqw "video" "$APPLI" && echo "$APPLI" ; done | while IFS=$'\n' read APPLI ; do grep -iql "nodisplay=true" "$APPLI" || echo "$(basename "${APPLI%.*}")" ; done
kmplayer
smplayer
vlc
xbmc

(Je viens d'installer smplayer)

pour ce qui est de smplayer_enqueue faut voir si c'est un déchet... il permet de mettre la vidéo à lire à la suite ; des fois qu'il y ait déjà une lecture en cours...

Oui mais pour le logiciel (ici), c'est pour sélectionner un lecteur qui lira le contenu téléchargé (ou en cours de téléchargement), avec un bouton "Aperçu de la vidéo". Donc il n'y a qu'une vidéo à la fois, normalement.

Dernière modification par Gaara (Le 16/09/2014, à 09:33)


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#35 Le 16/09/2014, à 09:33

bishop.sad.clown

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

donc c'bien un "déchet"

=· þ

Et du coup, si tu as déjà testé c'pas la peine que j'installe amarok, si ?


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#36 Le 16/09/2014, à 09:37

Gaara

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

Ben non, t'embête pas, car du coup ça fonctionne nickel ! (surtout que ça installe pleins de dépendances Kde)
Merci beaucoup pour ton aide !

Maintenant il faut que j'insère tout ça dans mon script python, ça ne va pas faire très propre (sauf si je "traduis") mais bon... c'est un début !

Dernière modification par Gaara (Le 16/09/2014, à 09:39)


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#37 Le 16/09/2014, à 09:55

bishop.sad.clown

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

j'ai pas assez de connaissances en python mais à l'époque où j'avais un petit peu mis les mains dedans pour modifier du script déjà existant, j'avais opté pour une roadmap du style lister les applis dispos ( avec la commande qu'on vient de voir ) , puis un coup de zenity / case pour lancer l'appli qui va bien en fonction du choix, le tout inclu dans le *.py

     Mais à ce niveau, je ne peux plus vraiment te filer la main... Comme déjà dit pas assez de connaissances, et j'connais pas ton cahier des charges... Du coup vais rester en retrait mais je garde un oeil ici, pour voir si y a de nouvelles contributions enrichissantes

=· D


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#38 Le 16/09/2014, à 10:09

Gaara

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

T'inquiète pas, c'est déjà une grande aide que tu m'as apporté. Je n'utilise pas zenity car comme j'ai une interface GTK, je l'intégrerais dans ma fenêtre, pas de soucis.
Pour l'intégration, j'utilise un pipe pour intégrer des commandes bash, mais je vais voir pour la traduction, si c'est possible.
Exemple, avec la ligne que j'avais trouvé hier:

p = subprocess.Popen(['grep', '-rl', 'AudioVideo;Player', '/usr/share/applications/'], stderr=subprocess.STDOUT, stdout=subprocess.PIPE)
a = p.communicate ()
print a

Mais avec cette ligne d'un km de long, la ligne python en fera 2...
L'avantage de ton code c'est qu'il renvoie directement le nom des applis, et non leur chemin. Ce sera plus facile pour moi par la suite.

A voir aussi avec melixgaro si ça fonctionne chez lui, à suivre donc..


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#39 Le 16/09/2014, à 10:28

bishop.sad.clown

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

Gaara a écrit :

T'inquiète pas, c'est déjà une grande aide que tu m'as apporté. ...

     Pas d'quoi ! Ça m'fait plaiZ' et puis ça me permet d'en apprendre aussi ^^

Gaara a écrit :

...à suivre donc..

    Ce que je vais faire

=· þ

@++


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#40 Le 16/09/2014, à 11:23

melixgaro

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

salut,

la commande en #34 me donne

banshee
clementine
devede
exmplayer
gnome-mplayer
minitube
mplayer
parole
smplayer
vlc
xbmc
xnoise

Pas tout à fait bon : banshee et clementine ne font que l'audio je pense ; devede est un logiciel de création pas un lecteur ; minitube, j'ai déjà dit plus haut ; xnoise, je ne sais pas ce que c'est... Dommage ! en tout cas, chapeau pour la ligne de commande qui a bien réduit la liste...


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#41 Le 16/09/2014, à 11:26

bishop.sad.clown

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

peux-'tu me faire une archive à télécharger contenant les *.desktop concernés ? ( ou même l'intégralité de /usr/share/applications c'est pas gênant )

ça me permettrait d'essayer d'adapter la commande sans avoir à installer les applis...

Dernière modification par bishop.sad.clown (Le 16/09/2014, à 11:27)


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#42 Le 16/09/2014, à 11:30

Gaara

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

xnoise, je ne sais pas ce que c'est

lol ! ça à l'air d'être un media-player: http://www.xnoise-media-player.com/
Mais on se rapproche du but !
Il faudrait regarder les .desktop des applis pour voir s'il n'y a pas un mot clé à filtrer..

De mon côté, j'essaie de traduire le code en python, j'y suis presque, il n'y a que la récursion qui me pose problème.


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#43 Le 16/09/2014, à 12:59

melixgaro

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

au temps pour moi, banshee lit les vidéos :s
xnoise aussi

voici les .desktop (j'ai la flemme defaire un tar et de trouver une plateforme pour l'y verser)

clementine.desktop

[Desktop Entry]
Version=1.0
Type=Application
Name=Clementine
GenericName=Clementine Music Player
GenericName[pt]=Reprodutor de músicas Clementine
Comment=Plays music and last.fm streams
Comment[pt]=Reprodução de músicas e emissões last.fm
Exec=clementine %U
TryExec=clementine
Icon=application-x-clementine
Terminal=false
Categories=AudioVideo;Player;Qt;
StartupNotify=false
MimeType=application/ogg;application/x-ogg;application/x-ogm-audio;audio/aac;audio/mp4;audio/mpeg;audio/mpegurl;audio/ogg;audio/vnd.rn-realaudio;audio/vorbis;audio/x-flac;audio/x-mp3;audio/x-mpeg;audio/x-mpegurl;audio/x-ms-wma;audio/x-musepack;audio/x-oggflac;audio/x-pn-realaudio;audio/x-scpls;audio/x-speex;audio/x-vorbis;audio/x-vorbis+ogg;audio/x-wav;video/x-ms-asf;x-content/audio-player;x-scheme-handler/zune;x-scheme-handler/itpc;x-scheme-handler/itms;x-scheme-handler/feed;
X-Ayatana-Desktop-Shortcuts=Play;Pause;Stop;Previous;Next;

devede.desktop

[Desktop Entry]
X-MultipleArgs=false
Type=Application
Name=DeVeDe
GenericName=DVD/CD Video Creator
X-GNOME-FullName=DeVeDe DVD/CD Video Creator
X-GNOME-FullName[ca]=DeVeDe creador de CD/DVDs de vídeo
X-GNOME-FullName[es]=DeVeDe creador de CD/DVDs de vídeo
X-GNOME-FullName[gl]=DeVeDe creador de CD/DVDs de vídeo
X-GNOME-FullName[pl]=DeVeDe tworzenie wideo na CD/DVD
X-GNOME-FullName[it]=DeVeDe creatore di video CD/DVD
Comment=Allows to create video CDs and DVDs, suitable to be reproduced in home DVD players
Comment[ca]=Permet crear CDs i DVDs de vídeo, que poden reproduir-se en reproductors domèstics
Comment[es]=Permite crear video CDs y DVDs, que pueden reproducirse en reproductores domésticos
Comment[gl]=Permite crear video CDs e DVDs, que poden reproducirse en reproductores domésticos
Comment[pl]=Pozwala stworzyć wideo na płytach CD lub DVD, do otwarzania w domowych odtwarzaczach DVD
TryExec=devede
Exec=devede
Categories=AudioVideo;
Icon=devede

minitube.desktop

[Desktop Entry]
Name=Minitube
Name[en]=Minitube
Comment=Watch YouTube videos
Comment[es]=Vea los videos de YouTube
Comment[gl]=Vexa os vídeos de YouTube
Comment[it]=Guarda i video di YouTube
Comment[tr]=YouTube videoları izleyin
GenericName=YouTube app
GenericName[en]=YouTube app
GenericName[es]=Cliente de YouTube
GenericName[gl]=Cliente de YouTube
GenericName[it]=Applicazione per YouTube
GenericName[tr]=YouTube istemcisi
Exec=minitube
Terminal=false
Type=Application
Icon=minitube
Categories=AudioVideo;Player;Qt;
StartupNotify=false
Actions=TogglePlaying;Next;Previous;

[Desktop Action TogglePlaying]
Name=Play/Pause
Exec=minitube --toggle-playing

[Desktop Action Next]
Name=Next
Exec=minitube --next

[Desktop Action Previous]
Name=Previous
Exec=minitube --previous

Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#44 Le 16/09/2014, à 13:15

bishop.sad.clown

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

avec ca exit mintube et devede:

find /usr/share/applications/ -name "*.desktop" -exec grep -il "player" {} \; | sort | while IFS=$'\n' read APPLI ; do grep -ilq ";video/" "$APPLI" && echo "$APPLI" ; done | while IFS=$'\n' read APPLI ; do grep -iql "nodisplay=true" "$APPLI" || echo "$(basename "${APPLI%.*}")" ; done

pour clementine:
dans les type MIME supporté on peut lire: video/x-ms-asf

ce qui crorresponr d'après wikipedia à ceci:

WikiPedia a écrit :

L'Advanced Systems Format (ASF, anciennement Advanced Streaming Format et Active Streaming Format) est un format conteneur multimédia propriétaire développé par Microsoft, très utilisé en streaming. Le format ASF appartient au framework Windows Media.

du coup, on garde ou on garde pas ?


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#45 Le 16/09/2014, à 13:19

melixgaro

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

bishop.sad.clown a écrit :

avec ca exit mintube et devede:

en effet ! bravo !

pour clementine, je ne sais pas pourquoi il y a ce type MIME dans le .desktop. Est-ce qu'il existe des fichiers audio purs mais reconnu comme video/x-ms-asf ?
je dirais qu'il faut enlever clementine de la liste.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#46 Le 16/09/2014, à 13:48

Gaara

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

je reviens avec le code python, (clementine et devede devrait sortir, j'ai pas regardé les messages récents)

#!/usr/bin/env python
# coding: utf8

import os
import fnmatch

apps = []                                                             # créer la liste des applis
for root, dirs, files in os.walk('/usr/share/applications/'):         # pour tous les fichiers dans ce rep et les sous repertoires
    for filename in files:                                            # pour chaque nom de fichier dans la liste
        if ".desktop" in filename:                                    # si le nom du fichier est sous la forme '.desktop'
            with open(os.path.join(root, filename), "r") as auto:     # ouvrir le fichier
                a = auto.read(50000)                                  # lire le fichier, les 50000 premiers caractères (il y a peut-être mieux mais ça marche)
                if "layer" in a and "ideo" in a and "edia" in a:      # détecter les mots clés inclus (pas mis la première lettre, avec ou sans majuscules...)
                    if "NoDisplay=true" not in a:                     # détecter les mots clés exclus
                        app = filename.replace(".desktop", "")        # enlever .desktop
                        apps.append(app)                              # ajouter l'appli à la liste
print apps                                                            # afficher la liste

Dernière modification par Gaara (Le 16/09/2014, à 13:59)


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#47 Le 16/09/2014, à 13:55

Gaara

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

ligne du post #44:

~$ find /usr/share/applications/ -name "*.desktop" -exec grep -il "player" {} \; | sort | while IFS=$'\n' read APPLI ; do grep -ilq ";video/" "$APPLI" && echo "$APPLI" ; done | while IFS=$'\n' read APPLI ; do grep -iql "nodisplay=true" "$APPLI" || echo "$(basename "${APPLI%.*}")" ; done
kmplayer
smplayer
vlc

XBMC à été enlevé ! tongue
Sinon, si clementine ne lit pas de vidéo, autant l'enlever.


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#48 Le 16/09/2014, à 13:55

bishop.sad.clown

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

j'viens de fouiller un peu le web à la recherche d'infos sur clementine et la lecture de vidéo et... RIEN. j'en viens à me demander si y pas eu une coquille qlq part lors de l'empaquetage...

Du coup pt-être bien ajouter "clementine" dans la partie " # détecter les mots clés exclus "

J'vais quand même aller récupérer qlqs paquets d'autres distros ( rpm ; tgz and co' ) pour voir si ca se situe à ce niveau ou à un autre niveau ( compilation, source etc )... Je ne me souviens plus quand les .desktop sont créés

=· /


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#49 Le 16/09/2014, à 13:56

bishop.sad.clown

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

envoie le .desktop d'xbmc


@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne

#50 Le 16/09/2014, à 14:01

Gaara

Re : [python GTK] Faire choisir une application à un utilisateur (résolu)

.desktop xbmc:

[Desktop Entry]
Version=1.0
Name=XBMC Media Center
GenericName=Media Center
Comment=Manage and view your media 
Exec=xbmc
Icon=xbmc
Terminal=false
Type=Application
Categories=AudioVideo;Video;Player;TV;

Actions=Fullscreen;Standalone;

[Desktop Action Fullscreen]
Name=Open in fullscreen
Exec=xbmc -fs
OnlyShowIn=Unity;

[Desktop Action Standalone]
Name=Open in standalone mode
Exec=xbmc --standalone
OnlyShowIn=Unity;

Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne