user@linuxtrack:~ $ python -c 'print("Soyez les bienvenus !")'

Vous n'êtes pas identifié(e).

#1 13-04-2015 11:09:16

penthium2
Modérateur

recherche dev en python

Bonjour Viperr recherche un dev en python pour faire des modificatino de ce script :

#!/usr/bin/env python

import pygtk
pygtk.require('2.0')
import gtk
import os

class DoTheLogOut:

    # Cancel/exit
    def delete_event(self, widget, event, data=None):
        gtk.main_quit()
        return False

    # Logout
    def logout(self, widget):
        os.system("pkill conky ; openbox --exit")

    # Reboot
    def reboot(self, widget):
        os.system("reboot")
        #os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart")

    # Shutdown
    def shutdown(self, widget):
        os.system("poweroff")
        #os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop")

    def __init__(self):
        # Create a new window
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_title("Choisir une operation :")
        self.window.set_resizable(False)
        self.window.set_position(1)
        self.window.connect("delete_event", self.delete_event)
        self.window.set_border_width(20)

        # Create a box to pack widgets into
        self.box1 = gtk.HBox(False, 0)
        self.window.add(self.box1)

        # Create cancel button
        self.button1 = gtk.Button("_Annuler")
        self.button1.set_border_width(10)
        self.button1.connect("clicked", self.delete_event, "Annulation")
        self.box1.pack_start(self.button1, True, True, 0)
        self.button1.show()

        # Create logout button
        self.button2 = gtk.Button("_Deconnecter")
        self.button2.set_border_width(10)
        self.button2.connect("clicked", self.logout)
        self.box1.pack_start(self.button2, True, True, 0)
        self.button2.show()

        # Create reboot button
        self.button3 = gtk.Button("_Redemarrer")
        self.button3.set_border_width(10)
        self.button3.connect("clicked", self.reboot)
        self.box1.pack_start(self.button3, True, True, 0)
        self.button3.show()

        # Create shutdown button
        self.button4 = gtk.Button("_Eteindre")
        self.button4.set_border_width(10)
        self.button4.connect("clicked", self.shutdown)
        self.box1.pack_start(self.button4, True, True, 0)
        self.button4.show()

        self.box1.show()
        self.window.show()

def main():
    gtk.main()

if __name__ == "__main__":
    gogogo = DoTheLogOut()
    main()
                          

Actuellement ce programme est en US, nous aimerions qui puisse détecter la langue de l'utilisateur pour qu'il propose le menu en français ou en anglais.

Sur fedora la variable LANG pour des machine FR est du style :

fr_FR.UTF-8 pour une machine francaise pur, et fr_BE.UTF-8 pour un belge, etc..

Merci de vos retour.


vi est mon ami pour la vie
Viperr
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn

Hors ligne

#2 13-04-2015 13:29:37

IceF0x
#! Gourou Linux

Re : recherche dev en python

Pourquoi tu ne fais pas un paquet de obsession de mimas https://bitbucket.org/fabriceT/obsession/downloads Il tien compte de la langue et est codé en C etc..


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#3 13-04-2015 13:59:10

penthium2
Modérateur

Re : recherche dev en python

le standby et l'hybernation commande ne marche pas !

(obsession-logout:3072): GLib-CRITICAL **: g_variant_unref: assertion 'value != NULL' failed

Mais joli soft en effet

Autre point négatif : son fichier Makefile n'a pas d'entre uninstall ! hmm


vi est mon ami pour la vie
Viperr
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn

Hors ligne

#4 13-04-2015 18:25:05

IceF0x
#! Gourou Linux

Re : recherche dev en python

Je ne comprend pas, j'utilise cette appli sur Archlinux et sur debian sans aucun bug, pour l'entrée uninstall comme il existe un paquet deb et un pakgbuild pour Arch j'ai pas regardé.

Sinon pour le fichier python je peux regarder.

Déjà pour lang tu peux faire ceci


#!/usr/bin/env python

import pygtk
pygtk.require('2.0')
import gtk
import os
import locale

LANG = locale.setlocale(locale.LC_ALL, "")[0:2]

class DoTheLogOut:
  if LANG == 'fr':
    # Cancel/exit
    def delete_event(self, widget, event, data=None):
        gtk.main_quit()
        return False

    # Logout
    def logout(self, widget):
        os.system("pkill conky ; openbox --exit")

    # Reboot
    def reboot(self, widget):
        os.system("reboot")
        #os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart")

    # Shutdown
    def shutdown(self, widget):
        os.system("poweroff")
        #os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop")

    def __init__(self):
        # Create a new window
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_title("Choisir une operation :")
        self.window.set_resizable(False)
        self.window.set_position(1)
        self.window.connect("delete_event", self.delete_event)
        self.window.set_border_width(20)

        # Create a box to pack widgets into
        self.box1 = gtk.HBox(False, 0)
        self.window.add(self.box1)

        # Create cancel button
        self.button1 = gtk.Button("_Annuler")
        self.button1.set_border_width(10)
        self.button1.connect("clicked", self.delete_event, "Annulation")
        self.box1.pack_start(self.button1, True, True, 0)
        self.button1.show()

        # Create logout button
        self.button2 = gtk.Button("_Deconnecter")
        self.button2.set_border_width(10)
        self.button2.connect("clicked", self.logout)
        self.box1.pack_start(self.button2, True, True, 0)
        self.button2.show()

        # Create reboot button
        self.button3 = gtk.Button("_Redemarrer")
        self.button3.set_border_width(10)
        self.button3.connect("clicked", self.reboot)
        self.box1.pack_start(self.button3, True, True, 0)
        self.button3.show()

        # Create shutdown button
        self.button4 = gtk.Button("_Eteindre")
        self.button4.set_border_width(10)
        self.button4.connect("clicked", self.shutdown)
        self.box1.pack_start(self.button4, True, True, 0)
        self.button4.show()

        self.box1.show()
        self.window.show()
  else:
    # Cancel/exit
    def delete_event(self, widget, event, data=None):
        gtk.main_quit()
        return False

    # Logout
    def logout(self, widget):
        os.system("pkill conky ; openbox --exit")

    # Reboot
    def reboot(self, widget):
        os.system("reboot")
        #os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart")

    # Shutdown
    def shutdown(self, widget):
        os.system("poweroff")
        #os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop")

    def __init__(self):
        # Create a new window
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_title("Choise an operation :")
        self.window.set_resizable(False)
        self.window.set_position(1)
        self.window.connect("delete_event", self.delete_event)
        self.window.set_border_width(20)

        # Create a box to pack widgets into
        self.box1 = gtk.HBox(False, 0)
        self.window.add(self.box1)

        # Create cancel button
        self.button1 = gtk.Button("_Cancel")
        self.button1.set_border_width(10)
        self.button1.connect("clicked", self.delete_event, "Cancelling")
        self.box1.pack_start(self.button1, True, True, 0)
        self.button1.show()

        # Create logout button
        self.button2 = gtk.Button("_Logout")
        self.button2.set_border_width(10)
        self.button2.connect("clicked", self.logout)
        self.box1.pack_start(self.button2, True, True, 0)
        self.button2.show()

        # Create reboot button
        self.button3 = gtk.Button("_Reboot")
        self.button3.set_border_width(10)
        self.button3.connect("clicked", self.reboot)
        self.box1.pack_start(self.button3, True, True, 0)
        self.button3.show()

        # Create shutdown button
        self.button4 = gtk.Button("_Shutdown")
        self.button4.set_border_width(10)
        self.button4.connect("clicked", self.shutdown)
        self.box1.pack_start(self.button4, True, True, 0)
        self.button4.show()

        self.box1.show()
        self.window.show()

def main():
    gtk.main()

if __name__ == "__main__":
    gogogo = DoTheLogOut()
    main()

PS: je vois que les commande dbus-send on été commentée et remplacée par reboot et poweroff, c'est pas très propre car soit il faut trifouiller le fichier sudoer pour autoriser la commande sans mot de passe, soit il faut donner le passe root à chaque utilisation, je ne sais pas comment fonctionne fedora mais je pense qu'il faut revoir le code en entier là.

regarde cette discution http://stackoverflow.com/questions/2301 … ing-python


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#5 13-04-2015 19:10:56

penthium2
Modérateur

Re : recherche dev en python

non c'est commande n'utilise pas sudo ( je te rapelle que je suis anti sudo ) big_smile
et les ancien commande dbus plante sur fedora depuis la version 20 hmm

pour revoir le code en entier ! volontier ! faut trouver un dev python sur fedora 21/22 big_smile


vi est mon ami pour la vie
Viperr
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn

Hors ligne

#6 13-04-2015 19:48:39

IceF0x
#! Gourou Linux

Re : recherche dev en python

étrange chez moi reboot demande des droit root


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#7 13-04-2015 20:27:53

penthium2
Modérateur

Re : recherche dev en python

car tu lance ton X depuis une session ouverte via console ! donc pour X il y a deux login actif !

enfin c'est une piste ! et c'est surtout la joie des diférence entre distro surment !


vi est mon ami pour la vie
Viperr
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn

Hors ligne

#8 13-04-2015 22:00:43

IceF0x
#! Gourou Linux

Re : recherche dev en python

Je penche pour une différence entre distro plutôt, sinon tu as testé ma modif du code ?


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#9 14-04-2015 09:45:05

penthium2
Modérateur

Re : recherche dev en python

bon obsession marche dans une VM !

J'ai donc un prob sur mon poste physique hmm


vi est mon ami pour la vie
Viperr
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn

Hors ligne

#10 14-04-2015 10:47:53

penthium2
Modérateur

Re : recherche dev en python

bon j'ai trouver ! mon erreur viens du faites que j'ai fais mes test de veille apres avoir tester la déconection !

Si je ne fais pas de déconection : reconection : l'appli marche tiptop.


vi est mon ami pour la vie
Viperr
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn

Hors ligne

#11 14-04-2015 13:56:03

IceF0x
#! Gourou Linux

Re : recherche dev en python

Je vais quand même tester les déco reco chez moi pour voir.


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#12 14-04-2015 18:28:12

penthium2
Modérateur

Re : recherche dev en python

la deco reco , standby, et autre me rende FOU !!!!!!!!!!

Où alors c'est le double écran.... berf je sais plus !!!!!

j'ai testé en long en large cette apres dans un VM : ZERO PROB
j'ai testé cette apres au taf sur ce physique : PROBLEME
je viens de testé sur ce physique : ZERO PROBLEME !!!!!!

je regarde demain sans double écran ! c'est la seul diférence entre chez moi et au taf !!!!


Quoi qu'il arrive :
Viperr 7 implémentera obsession big_smile

Merci Icef0x pour cette découverte !


vi est mon ami pour la vie
Viperr
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn

Hors ligne

#13 14-04-2015 18:29:42

Checkfx
Membre

Re : recherche dev en python

viperr a écrit :

la deco reco , standby, et autre me rende FOU !!!!!!!!!!

Où alors c'est le double écran.... berf je sais plus !!!!!

j'ai testé en long en large cette apres dans un VM : ZERO PROB
j'ai testé cette apres au taf sur ce physique : PROBLEME
je viens de testé sur ce physique : ZERO PROBLEME !!!!!!

je regarde demain sans double écran ! c'est la seul diférence entre chez moi et au taf !!!!


Quoi qu'il arrive :
Viperr 7 implémentera obsession big_smile

Merci Icef0x pour cette découverte !

lockscreen ?

jdit ca jdit rien !!! suite a une mise en veille la ... ?

Dernière modification par Checkfx (14-04-2015 18:30:11)

Hors ligne

#14 14-04-2015 18:41:59

IceF0x
#! Gourou Linux

Re : recherche dev en python

En effet peut être le double écran car, j'ai testé la deco reco puis veille et aucun souci sur debian de mon coté.


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#15 14-04-2015 19:56:02

penthium2
Modérateur

Re : recherche dev en python

Checkfx a écrit :
viperr a écrit :

la deco reco , standby, et autre me rende FOU !!!!!!!!!!

Où alors c'est le double écran.... berf je sais plus !!!!!

j'ai testé en long en large cette apres dans un VM : ZERO PROB
j'ai testé cette apres au taf sur ce physique : PROBLEME
je viens de testé sur ce physique : ZERO PROBLEME !!!!!!

je regarde demain sans double écran ! c'est la seul diférence entre chez moi et au taf !!!!


Quoi qu'il arrive :
Viperr 7 implémentera obsession big_smile

Merci Icef0x pour cette découverte !

lockscreen ?

jdit ca jdit rien !!! suite a une mise en veille la ... ?

j'utilise xscreensaver-command -lock dans mes script de véroux, piste a suivre ...


vi est mon ami pour la vie
Viperr
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn

Hors ligne

#16 23-04-2015 00:50:41

mélodie
Villageoise

Re : recherche dev en python

Salut,

obsession a été codé par mimas à ma demande, après que coyotus m'aie fait une remarque sur le sujet lors d'un test de Bento (il y a donc un bout de temps).

Donc ce n'est pas une découverte. wink

obsession est maintenant disponible pour Debian, pour Ubuntu à partir de la version Vivid (et fonctionne parfaitement sous Trusty avec la même version). Je ne vois pas pourquoi il ne pourrait pas être packagé pour Fedora.

Quand à le désinstaller, ça doit aller tout seul normalement ? Si tu le compiles, il file sagement dans /usr/local/bin et /usr/local/locales pour les locales, et pour le désinstaller ben… rm ?  smile

Dernière modification par mélodie (23-04-2015 00:51:37)

Hors ligne

#17 23-04-2015 07:56:24

azgarech
Crazy one

Re : recherche dev en python

Je suis en cours de travail sur ce paquet pour Viperr et don Fedora en général.  merci


Security is always excessive until it’s not enough. — Robbie Sinclair

Hors ligne

#18 23-04-2015 08:43:56

penthium2
Modérateur

Re : recherche dev en python

\o/  Cthulhu


vi est mon ami pour la vie
Viperr
Ph'nglui nglw-nafh Cthulhu R'lyeh wgah-nagl fhtagn

Hors ligne

#19 23-04-2015 13:50:08

mélodie
Villageoise

Re : recherche dev en python

azgarech a écrit :

Je suis en cours de travail sur ce paquet pour Viperr et don Fedora en général.  merci

Salut,

je voulais te mettre un mp comme tu m'as dit hier, sur le chan mais je n'ai pas pu, il semble que la fonction messages privées aie été supprimée. (la faute aux kikoolols ?! big_smile )

Hors ligne

#20 23-04-2015 18:35:57

IceF0x
#! Gourou Linux

Re : recherche dev en python

si tu veux garder python voici un bout de code à tester, il utilise systemd pour les commande de poweroff reboot etc..

systemctl poweroff
systemctl reboot
systemctl suspend
systemctl hibernate

#!/usr/bin/env python

import pygtk
pygtk.require('2.0')
import gtk
import os
import locale

LANG = locale.setlocale(locale.LC_ALL, "")[0:2]

class DoTheLogOut:
  if LANG == 'fr':
    # Cancel/exit
    def delete_event(self, widget, event, data=None):
        gtk.main_quit()
        return False

    # Logout
    def logout(self, widget):
        os.system("pkill conky ; openbox --exit")

    # Reboot
    def reboot(self, widget):
        os.system("systemctl reboot")

    # Shutdown
    def shutdown(self, widget):
        os.system("systemctl poweroff")

    def __init__(self):
        # Create a new window
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_title("Choisir une operation :")
        self.window.set_resizable(False)
        self.window.set_position(1)
        self.window.connect("delete_event", self.delete_event)
        self.window.set_border_width(20)

        # Create a box to pack widgets into
        self.box1 = gtk.HBox(False, 0)
        self.window.add(self.box1)

        # Create cancel button
        self.button1 = gtk.Button("_Annuler")
        self.button1.set_border_width(10)
        self.button1.connect("clicked", self.delete_event, "Annulation")
        self.box1.pack_start(self.button1, True, True, 0)
        self.button1.show()

        # Create logout button
        self.button2 = gtk.Button("_Deconnecter")
        self.button2.set_border_width(10)
        self.button2.connect("clicked", self.logout)
        self.box1.pack_start(self.button2, True, True, 0)
        self.button2.show()

        # Create reboot button
        self.button3 = gtk.Button("_Redemarrer")
        self.button3.set_border_width(10)
        self.button3.connect("clicked", self.reboot)
        self.box1.pack_start(self.button3, True, True, 0)
        self.button3.show()

        # Create shutdown button
        self.button4 = gtk.Button("_Eteindre")
        self.button4.set_border_width(10)
        self.button4.connect("clicked", self.shutdown)
        self.box1.pack_start(self.button4, True, True, 0)
        self.button4.show()

        self.box1.show()
        self.window.show()
  else:
    # Cancel/exit
    def delete_event(self, widget, event, data=None):
        gtk.main_quit()
        return False

    # Logout
    def logout(self, widget):
        os.system("pkill conky ; openbox --exit")

    # Reboot
    def reboot(self, widget):
        os.system("systemctl reboot")

    # Shutdown
    def shutdown(self, widget):
        os.system("systemctl poweroff")

    def __init__(self):
        # Create a new window
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_title("Choise an operation :")
        self.window.set_resizable(False)
        self.window.set_position(1)
        self.window.connect("delete_event", self.delete_event)
        self.window.set_border_width(20)

        # Create a box to pack widgets into
        self.box1 = gtk.HBox(False, 0)
        self.window.add(self.box1)

        # Create cancel button
        self.button1 = gtk.Button("_Cancel")
        self.button1.set_border_width(10)
        self.button1.connect("clicked", self.delete_event, "Cancelling")
        self.box1.pack_start(self.button1, True, True, 0)
        self.button1.show()

        # Create logout button
        self.button2 = gtk.Button("_Logout")
        self.button2.set_border_width(10)
        self.button2.connect("clicked", self.logout)
        self.box1.pack_start(self.button2, True, True, 0)
        self.button2.show()

        # Create reboot button
        self.button3 = gtk.Button("_Reboot")
        self.button3.set_border_width(10)
        self.button3.connect("clicked", self.reboot)
        self.box1.pack_start(self.button3, True, True, 0)
        self.button3.show()

        # Create shutdown button
        self.button4 = gtk.Button("_Shutdown")
        self.button4.set_border_width(10)
        self.button4.connect("clicked", self.shutdown)
        self.box1.pack_start(self.button4, True, True, 0)
        self.button4.show()

        self.box1.show()
        self.window.show()

def main():
    gtk.main()

if __name__ == "__main__":
    gogogo = DoTheLogOut()
    main()

Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#21 24-04-2015 01:22:28

mélodie
Villageoise

Re : recherche dev en python

Salut,

Avant d'utiliser obsession j'ai employé tour à tour des commandes directes dans le menu, puis un script python, (avant que systemd soit dans Archlinux et dans les autres distros du coin).
https://github.com/nixers-projects/Scri … k-shutdown

Je ne connais rien à la programmation, ou si peu, juste une question, un script python doit-il commencer par la ligne telle que ce que tu as "#!/usr/bin/env python" ou bien doit-il indiquer la version de python, comme dans le script de doorknob60, ou bien est-ce que ça dépend juste "de l'air du temps", c'est à dire des modes et des époques ?

Hors ligne

#22 24-04-2015 06:40:02

IceF0x
#! Gourou Linux

Re : recherche dev en python

Ça dépend de la version installée.

#!/usr/bin/env python(version) est la forme correcte.


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

Pied de page des forums