Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Cairo-Dock cafe | Café Cairo-Dock Le vrai post sur l'apprentissage de dbus et de python + 3615 ma vie
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Cairo-Dock cafe | Café Cairo-Dock

Subjects Author Language Messages Last message
[Locked] Le vrai post sur l'apprentissage de dbus et de python + 3615 ma vie
Page : 1 2 3 4 5 6 7
taiebot65 Français 138 taiebot65 [Read]
16 May 2010 à 20:46

taiebot65, Monday 31 August 2009 à 20:07


Subscription date : 26 October 2008
Messages : 1904
YEs !!! merci ca marche pas pour l'icone mais pour les noms c ok j'avais essaye avec les deux a la fois mais ca plantait toujours sur le premier...

taiebot65, Monday 31 August 2009 à 21:48


Subscription date : 26 October 2008
Messages : 1904
Je bloc toujours sur ces icones .. Pkoi qu'il en veut pas ??

ERROR:dbus.connection:Unable to set arguments (dbus.Int32(0), dbus.String(u'emaildugarschezkicabloc'), 'none', 'Pidgin') according to signature u'ssss': <type 'exceptions.TypeError'>: Expected a string or unicode object
Traceback (most recent call last):
File "./Pidgin2.py", line 77, in <module>
init()
File "./Pidgin2.py", line 70, in init
iface.CreateLauncherFromScratch( icon, name, "none", "Pidgin")
File "/var/lib/python-support/python2.6/dbus/proxies.py", line 68, in call
return self._proxy_method(*args, keywords)
File "/var/lib/python-support/python2.6/dbus/proxies.py", line 140, in call
keywords)
File "/var/lib/python-support/python2.6/dbus/connection.py", line 612, in call_blocking
message.append(signature=signature, *args)
TypeError: Expected a string or unicode object

taiebot65, Monday 31 August 2009 à 22:25


Subscription date : 26 October 2008
Messages : 1904
Please Fabounet il faudrait vraiment pouvoir créer des lanceurs dans un nouveau module...

J'aimerai bien faire le plugin Pidgin a la weather mais c pas possible..

Pour l'instant je suis dans un sous-dock et j'affiche mes contacts..
Mais un sous dock n'a pas de statut dans dbus je peux pas lui mettre une quick info ou une nouvelle icone en fonction de mon statut... ni lui creer une action aux click....

Bon pour l'instant c pas trop genant vu l'etat de mon plugin mais pour d'autres dev ca pourrait poser problemes...

matttbe, Monday 31 August 2009 à 22:29


Subscription date : 24 January 2009
Messages : 12573
Fab va maintenant regretter ce plug-in DBus

taiebot65, Monday 31 August 2009 à 22:31


Subscription date : 26 October 2008
Messages : 1904
Je pense qu'il regrette deja

taiebot65, Monday 31 August 2009 à 22:39


Subscription date : 26 October 2008
Messages : 1904
BOn allez des photos de l'avance de mon 1er plugin et de mes 1eres lignes de codes..

http://farm3.static.flickr.com/2644/3875903904_324a8dce10.jpg

Sachant qu'il y a trois jours je savais rien faire en python et savais meme pas coder..

ppmt, Monday 31 August 2009 à 22:40


Subscription date : 29 November 2007
Messages : 3520
taiebot: sans savoir ce que fais la commande pour recuperer l'icone.....je suppute que ce qui t'es retourne est une image....la fonction de dbus s'attend a recevoir un nom de fichier....du coup ca coince

il se plaint de ca: TypeError: Expected a string or unicode object

donc il veut soit une string et je pense que tu lui envoie un stream d'une image....

taiebot65, Monday 31 August 2009 à 22:44


Subscription date : 26 October 2008
Messages : 1904
Alors c quoi l'astuce ?? je sais bien qu'il veut un string et moi je lui envoie un integer ...

Dois je la sauver temporairement mais elle est deja sur mon ordi mais avec des chiffres partout??

ppmt, Monday 31 August 2009 à 23:14


Subscription date : 29 November 2007
Messages : 3520
c'est quoi le interger que tu lui envoie?

Il n'y pas une autre fonction qui te renvoie l'endroit ou est sauver cette image?

taiebot65, Monday 31 August 2009 à 23:20


Subscription date : 26 October 2008
Messages : 1904
Je pense que le integer c'est le nom de l'image..
elles se trouvent sous..
EDIT c pas un integer

/.purple/icons/3c5946c9e4befd744aff5c6e0b85088ec25327dd.png

ppmt, Tuesday 01 September 2009 à 01:55


Subscription date : 29 November 2007
Messages : 3520
ok comme tu dis ca c'est pas un integer

si tu mets un print icon apres avoir lance la commande ca t'imprimes quoi?

peut-etre que c'est juste le path qui manque ?

fabounet, Tuesday 01 September 2009 à 16:33


Subscription date : 30 November 2007
Messages : 17118
bon, mise à jour de l'API
donc là on a 2 interfaces :
- la principale, qui n'a pas changé, où tu peux agir sur le dock et n'importe quelle icône ou presque.
- celle des applets, où tu n'agis que sur ton applet (et où il y'a les signaux)

Taiebot tu peux créer une icône from scratch, dans un dock de ton choix
pour le nom du dock, choisis le même nom que celui de ton icône.
puis pour retrouver tes petits, donne-leur des commandes spéciales, ça te permettra d'agir dessus.
si ça marche pas, j'implémenterai la création de sous-dock mais je pense que ça doit déjà être possible.
sinon, essaye de définir précisément quelles méthodes avec quels arguments tu aurais besoin

taiebot65, Tuesday 01 September 2009 à 20:37


Subscription date : 26 October 2008
Messages : 1904
Bon en attendant le script de mav je vais poste mon code...
Donc pour rappel vous devez avoir creer un sous dock nomme "Pidgin" dans votre dock pour pouvoir marcher et bien sur etre connecte sur Pidgin....

v0.000002

Qu'est ce qu'il fait??
==> Ne montre que vos contacts connectes.. (Va falloir que j'apprenne comment faire un choix )
==> ajoute leur alias

Ce que j'aimerais faire d
auto update==>
Ajouter les icones des contacts==>
et en cliquant dessus ouvre une conversation==>

Bon ca doit etre tres vilain pour des codeurs mais ca marche c'est l'essentiel
J'ai des trucs en cours de test donc y a plein de truc qui servent a rien ou qui sont en double...


#!/usr/bin/env python
#
# main.py
# Copyright (C) taiebot 2009 <taiebot65@yahoo.fr>

# main.py is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# main.py is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details.

# You should have received a copy of the GNU General Public License along
# with this program.  If not, see <http://www.gnu.org/licenses/>.
### import ###
import sys
import gobject
import glib
import gtk
import dbus
from dbus
.mainloop.glib import DBusGMainLoop

def icon
():
    return

def name():
    return
                
#On va active Pidgin et on ecoute son interface.
def init():
    
# let's connect to the dock.
    
DBusGMainLoop(set_as_default=True)
    
bus dbus.SessionBus()
    try:
        
remote_object bus.get_object("im.pidgin.purple.PurpleService",
                
"/im/pidgin/purple/PurpleObject")
    
except dbus.DBusException:
        print 
"Pidgin not found on bus (did you activate its 'DBus' plug-in ?)"
        
return
    
purple dbus.Interface(remote_object"im.pidgin.purple.PurpleInterface")    

# On recupere son statut
    
current purple.PurpleSavedstatusGetType(purple.PurpleSavedstatusGetCurrent())
    print 
current
    
if current ==1:
        
status "/usr/share/pixmaps/pidgin/status/48/offline.png"
        
print "offline"
    
elif current ==2:
        
status "/usr/share/pixmaps/pidgin/status/48/available.png"
        
print "available"
    
elif current ==3:
        
status "/usr/share/pixmaps/pidgin/status/48/busy.png"
    
elif current ==4:
        
status "/usr/share/pixmaps/pidgin/status/48/invisible.png"
        
print "invisible"
    
elif current ==5:
        
status "/usr/share/pixmaps/pidgin/status/48/away.png"
        
print "away"
    
elif current ==6:
        
status "/usr/share/pixmaps/pidgin/status/48/extended-away.png"
        
print "extended away"
    
elif current ==7:
        
status "/usr/share/pixmaps/pidgin/status/48/away.png"
        
print "mobile"
    
elif current ==8:
        
status "/usr/share/pixmaps/pidgin/status/48/chat.png"
        
print "tune"
        
# ON RECUPERE LES COMPTES
    
for acctID in purple.PurpleAccountsGetAllActive():
        
    
# ON recupere tous les BUddies en fonction des comptes...
        
buddies purple.PurpleFindBuddies(acctID"")
        
        for 
buddyid in buddies:

            
#groupid = purple.PurpleBuddyGetGroup(buddyid)

            # get initial data
                #alias = purple.PurpleBuddyGetAlias(buddyid)
                #name = purple.PurpleBuddyGetName(buddyid)
                
online purple.PurpleBuddyIsOnline(buddyid)
                if 
online != 0:
                    
name purple.PurpleBuddyGetName(buddyid)
                
#group = purple.PurpleGroupGetName(groupid)
                    
alias purple.PurpleBuddyGetAlias(buddyid)
                    
icon purple.PurpleBuddyGetIcon(buddyid)
                
#if icon == 0:
                #    icon = "/usr/share/pixmaps/pidgin/status/48/person.png"
                #elif icon !=0:
                #    icon = "~/.purple/icons/" + icon
                #icon = purple.PurpleBuddyGetIcon(buddyid)
                    
print name
                    
print icon
            
            
                    remote2_object 
bus.get_object("org.cairodock.CairoDock",
                
"/org/cairodock/CairoDock")
                    
iface dbus.Interface(remote2_object"org.cairodock.CairoDock")
                
#iface.SetIcon( status, "none", "none", "weather")
                    
iface.CreateLauncherFromScratch"/usr/share/pixmaps/pidgin/status/48/person.png"alias"""Pidgin")
                    
#iface.SetLabel( alias, name, "Pidgin")
    
del purple
    del remote_object
    del bus
    
### main ###
if __name__ == '__main__':
    
init()
    
gtk.main()
    
stop()
    
sys.exit(0)        
            


fabounet, Wednesday 02 September 2009 à 11:49


Subscription date : 30 November 2007
Messages : 17118
pour l'auto update j'imagine que tu dois te connecter à un signal de Pidgin
je vais tenter de rajouter une méthode pour pouvoir créer un sous-dock à son applet, en attendant je vois que tu as trouvé une parade

taiebot65, Wednesday 04 November 2009 à 14:42


Subscription date : 26 October 2008
Messages : 1904
Je remonte ce post j'ai refait des test il faut mettre ou maintenant le fichier conf et les icones deja? j'ai plus de menu dans la config principal?

matttbe, Wednesday 04 November 2009 à 14:46


Subscription date : 24 January 2009
Messages : 12573
Euh, à propos de quoi ? Si c'est pour DBus : http://www.glx-dock.org/ww_page.php?p=Contrôlez%20votre%20dock%20avec%20DBus&lang=fr#46-External applet

taiebot65, Wednesday 04 November 2009 à 15:01


Subscription date : 26 October 2008
Messages : 1904
Ben j'arrive plus a faire afficher mon applet dans le menu de config... pourtant ca marche..

matttbe, Wednesday 04 November 2009 à 15:08


Subscription date : 24 January 2009
Messages : 12573
As-tu vu qu'il fallait ajouter le numéro de version ?
=> C'est dans le tuto, les démo et les applets présentes dans la branche sur lp

taiebot65, Wednesday 04 November 2009 à 16:05


Subscription date : 26 October 2008
Messages : 1904
Rien a faire j'ai pas trouve... c'est peut etre aussi du a la qualite de mon code

fabounet, Wednesday 04 November 2009 à 18:24


Subscription date : 30 November 2007
Messages : 17118
balance voir ça, il doit y'avoir une petite boulette

Cairo-Dock cafe | Café Cairo-Dock

Subjects Author Language Messages Last message
[Locked] Le vrai post sur l'apprentissage de dbus et de python + 3615 ma vie
Page : 1 2 3 4 5 6 7
taiebot65 Français 138 taiebot65 [Read]
16 May 2010 à 20:46


Glx-Dock / Cairo-Dock List of forums Cairo-Dock cafe | Café Cairo-Dock Le vrai post sur l'apprentissage de dbus et de python + 3615 ma vie Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.