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.

#51 Le 16/09/2014, à 15:01

melixgaro

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

xbmc.desktop

[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;

pas de ligne MIME


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#52 Le 16/09/2014, à 15:03

melixgaro

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

à Gaara
si tu veux faire des regex dans python, il y a le module 're' wink

Édition :
mot manquant :s

Dernière modification par melixgaro (Le 16/09/2014, à 15:06)


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#53 Le 16/09/2014, à 15:03

Gaara

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

melixgaro tu as essayé le script python pour voir ce que ça donne?
Edit:

si tu faire des regex dans python, il y a le module 're'

Heu oui je dois l'utiliser qqpart dans dpluzz mais j'ai pas eu le réflexe pour ce script tongue

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


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

#54 Le 16/09/2014, à 15:05

melixgaro

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

sinon utilise cette ligne  pour éviter les problèmes de casse

if "layer" in a.lowercase() and "video" in a.lowercase() and "media" in a.lowercase():

(devrait marcher si la variable 'a' est bien une chaîne de caractère)


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#55 Le 16/09/2014, à 15:06

melixgaro

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

Gaara a écrit :

melixgaro tu as essayé le script python pour voir ce que ça donne?

pas encore


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#56 Le 16/09/2014, à 15:08

Gaara

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

nan ça dit ça:

AttributeError: 'str' object has no attribute 'lowercase'

(et c'est bien une chaine)
cette ligne fonctionne:

if "player" in a.lower() and "video" in a.lower() and "media" in a.lower():

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


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

#57 Le 16/09/2014, à 15:10

bishop.sad.clown

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

Gaara a écrit :

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.

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 -iqlE "nodisplay=true|clementine" "$APPLI" || echo "$(basename "${APPLI%.*}")" ; done

y avais mis un / de trop après vidéos  → → → facepalm

P.S. j'vais arrêter de corriger la commande bash vu qu'c'est en .py , ca sert à rien non  ?

big_smile

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


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

Hors ligne

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

melixgaro

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

Gaara a écrit :

nan ça dit ça:

AttributeError: 'str' object has no attribute 'lowercase'

(et c'est bien une chaine)
cette ligne fonctionne:

if "player" in a.lower() and "video" in a.lower() and "media" in a.lower():

ouais j'ai confondu avec autre chose. c'est .lower() et .upper() en python.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#59 Le 16/09/2014, à 15:17

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 -ilq ";video" "$APPLI" && echo "$APPLI" ; done | while IFS=$'\n' read APPLI ; do grep -iqlE "nodisplay=true|clementine" "$APPLI" || echo "$(basename "${APPLI%.*}")" ; done
kmplayer
smplayer
vlc
xbmc

Nickel !

j'vais arrêter de corriger la commande bash vu qu'c'est en .py , ca elle sert à rien non  ?

Le principe est le même, il faut juste que je mette les mêmes mots clés dans mon script.. Mais oui je vais utiliser le .py donc te fatigue pas plus !! (sauf peut-être de déchiffrer les .desktop, tu y arrives mieux que nous) tongue
Sinon ta dernière ligne marche impeccable chez moi, donc on va finir par trouver une solution viable smile

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


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

#60 Le 16/09/2014, à 15:20

melixgaro

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

chez moi j'ai ceci avec la dernière ligne de commande

banshee
exmplayer
gnome-mplayer
mplayer
parole
smplayer
vlc
xbmc
xnoise

je suis assez épaté. ça semble assez robuste. je ne pensais qu'on y arriverait vu que les .desktop ne sont pas toujours remplis de façon rigoureuse et/ou exhaustive.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#61 Le 16/09/2014, à 15:22

Gaara

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

Donc si je résume,

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

import os
import fnmatch

apps = []                                                                          
for root, dirs, files in os.walk('/usr/share/applications/'):                        
    for filename in files:                                                       
        if ".desktop" in filename:                                                  
            with open(os.path.join(root, filename), "r") as auto:                    
                a = auto.read(50000)                                               
                if "player" in a.lower() and "video" in a.lower() and "media" in a.lower():              
                    if "NoDisplay=true" not in a.lower() and "clementine" not in a.lower():           
                        app = filename.replace(".desktop", "")                      
                        apps.append(app)                                              
print apps

Est le bon code (?), ça donne ça chez moi:

$ python app.py
['vlc', 'xbmc', 'smplayer', 'kmplayer']

Le résultat est une liste, donc je vais pouvoir faire une liste déroulante avec ça. Et ajouter mplayer qui fait partie des dépendances du logiciel.
Eventuellement je vais pouvoir trier dans l'ordre alphabétique, ça sera plus ordonné. Mais ça c'est de la finition.

Dernière modification par Gaara (Le 16/09/2014, à 15: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

#62 Le 16/09/2014, à 15:32

Gaara

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

je suis assez épaté. ça semble assez robuste. je ne pensais qu'on y arriverait vu que les .desktop ne sont pas toujours remplis de façon rigoureuse et/ou exhaustive.

Moi aussi, mais je n'ai jamais douté ! lol
Ravi que ça te plaise, car ça me va aussi! smile Pour ça, on peut toujours se débrouiller en codant (ça m'épate tout le temps en fait). Mais c'est vrai qu'à plusieurs machines/distribs on a un résultat plus probant, et qui tient la route, ça permet de ne rien oublier.
J'attend vos retour du .py pour la validation finale!! (ceci dit c'est pas pressé hein )


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

#63 Le 16/09/2014, à 15:35

bishop.sad.clown

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

ca va pas vous aider bcp mais bon ici, le .py s'éxécute sans erreur:

python test.py
['smplayer', 'vlc']

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

Hors ligne

#64 Le 16/09/2014, à 15:38

melixgaro

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

ça donne

['xnoise', 'exmplayer', 'banshee-media-player', 'banshee', 'xbmc', 'banshee-audiocd', 'smplayer', 'gnome-mplayer', 'vlc', 'mplayer', 'parole']

y a banshee-media-player et banshee-audiocd qui sortent de je ne sais où. dans l'ordre


[Desktop Entry]
Exec=banshee --redirect-log --device-activate=%u
NoDisplay=true
MimeType=x-content/audio-player;
Version=1.0
Name=Banshee
GenericName=Media Player
X-GNOME-FullName=Banshee Media Player
Comment=Play and organize your media collection
Icon=media-player-banshee
StartupNotify=true
Terminal=false
Type=Application
Categories=GTK;GNOME;Audio;Music;Player;AudioVideo;X-Ximian-Main;X-Novell-Main;X-Red-Hat-Base;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=banshee
X-GNOME-Bugzilla-Component=General
X-GNOME-Bugzilla-Version=2.6.1
X-Ubuntu-Gettext-Domain=banshee
[Desktop Entry]
Exec=banshee --redirect-log --device-activate-play=%u
NoDisplay=true
MimeType=x-content/audio-cdda;
Version=1.0
Name=Banshee
GenericName=Media Player
X-GNOME-FullName=Banshee Media Player
Comment=Play and organize your media collection
Icon=media-player-banshee
StartupNotify=true
Terminal=false
Type=Application
Categories=GTK;GNOME;Audio;Music;Player;AudioVideo;X-Ximian-Main;X-Novell-Main;X-Red-Hat-Base;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=banshee
X-GNOME-Bugzilla-Component=General
X-GNOME-Bugzilla-Version=2.6.1
X-Ubuntu-Gettext-Domain=banshee

Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#65 Le 16/09/2014, à 15:40

Gaara

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

Ok, merci bishop smile
Si si, ça m'aide bcp, détrompe toi !!


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

#66 Le 16/09/2014, à 15:40

melixgaro

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

il faut que tu marques

"NoDisplay=true".lower()

ou tu enlèves le a.lower() pour ce test

Dernière modification par melixgaro (Le 16/09/2014, à 15:42)


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#67 Le 16/09/2014, à 15:41

melixgaro

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

avec ma modif :

['xnoise', 'exmplayer', 'banshee', 'xbmc', 'smplayer', 'gnome-mplayer', 'vlc', 'mplayer', 'parole']

Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#68 Le 16/09/2014, à 15:43

Gaara

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

NoDisplay=true dans les 2 .desktop
et la ligne 14 du script:

                    if "NoDisplay=true" not in a.lower() and "clementine" not in a.lower():

si tu changes avec

                    if "nodisplay=true" not in a.lower() and "clementine" not in a.lower():

?


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

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

melixgaro

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

ahahah, j'ai été plus rapide que toi ! big_smile


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#70 Le 16/09/2014, à 15:50

Gaara

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

big_smile

Ben au moins tu auras le choix, j'espère que tu as un écran assez grand pour que le logiciel affiche toute la liste !!! big_smile

Merci à vous!! Maintenant je vais insérer ça dans mon code smile


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

#71 Le 16/09/2014, à 15:59

melixgaro

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

ce sera une liste déroulante ?


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#72 Le 16/09/2014, à 16:04

Gaara

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

oui, je vais remplacer l'ancienne liste, (celle de gauche)
Il faut que j'ajoute mplayer aussi, qui sera le lecteur par défaut (donc en premier dans la liste)
492178choixapp.jpg

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


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

#73 Le 16/09/2014, à 16:05

Gaara

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

Tu voulais aussi mettre un champ pour une commande ?


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

#74 Le 16/09/2014, à 16:23

melixgaro

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

Pourquoi y a-t-il « Lecteur audio » à droite de mplayer ?
pour le champ : oui si quelqu'un souhaite personnaliser le démarrage de vlc ou mplayer pour que ce soit en plein écran ou sans fenêtre (cas de vlc)


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#75 Le 16/09/2014, à 16:57

Gaara

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

nan mais là j'ai juste ajouté un deuxième menu déroulant sans remplacer le premier, c'est juste pour vous montrer que ça fonctionnait bien, mais il y a encore du taf wink
Je pensais faire ça:
Lecteur audio:                <menu déroulant>                    (case à cocher)  Commande spéciale:           <champ pour écrire la commande, sinon grisé>


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