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.

#1 Le 14/11/2008, à 22:24

Dyocma

[Resolu] Besoin aide sur Python...

Bonsoir,

J'y connais rien en Python....

j'ai un Prog qui contient des imports...
et j'ai ce message suivant...

./ibuddy.py: line 1: import : commande introuvable
./ibuddy.py: line 2: import : commande introuvable
./ibuddy.py: line 5: class : commande introuvable

Bon, je regarde les imports, pour moi c'est normal... les librairies usb a bien etait installé...

je cherche un peu, et je decouvre qu'il faut ajouter un "sys.path.append" ... bien bien

Alors j'ai recherché  time.pyc et usb.pyc, mais rien....

find /usr/lib -name 'usb.pyc' -print
find /usr/lib -name 'time.pyc' -print

Quelle commandes dois-je ajouter, ou le bon chemin ??

merci de votre aide.

Dernière modification par Dyocma (Le 14/11/2008, à 23:00)


Ubuntu 22.04 Lts

Hors ligne

#2 Le 14/11/2008, à 22:28

Kanor

Re : [Resolu] Besoin aide sur Python...

Est ce que tu peux montre les ligne de 1 à 5 ?
Ce sera plus facile pour d'aider .

Hors ligne

#3 Le 14/11/2008, à 22:31

Kanor

Re : [Resolu] Besoin aide sur Python...

Ok j'ai trouvé d'ou vient le prb lance le programme comme ça

python ibuddy.py

Ça devrais mieux marcher si tu veux faire ta méthode rajoute cette ligne au début du programme
#!/usr/bin/env python

Pour les autre voila le site du script
http://cuntography.com/blog/?p=17

Hors ligne

#4 Le 14/11/2008, à 22:42

Dyocma

Re : [Resolu] Besoin aide sur Python...

Waouu... rapide comme reponse Kanor !
Oui voila le code

import usb
import time


class BuddyDevice:
  SETUP   = (0x22, 0x09, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00)
  MESS    = (0x55, 0x53, 0x42, 0x43, 0x00, 0x40, 0x02)
  
  LEFT = 1
  RIGHT = 1
  
  finalMess = 0xFF

  def __init__(self, battery):
    try:
      self.dev=UsbDevice(0x1130, 0x0001, battery)
      self.dev.open()
      self.dev.handle.reset()
    except NoBuddyException, e:
      raise NoBuddyException()
      
  def setHeadColor(self, red, green, blue):
    #knock bits out finalMess
    re = red << 4
    gr = green << 5
    bl = blue << 6
    tmp = re | gr | bl
    self.finalMess = self.finalMess ^ tmp
     
  def setHeart(self, status):
    st = status << 7
    self.finalMess = self.finalMess ^ st
    
  def pumpMessage(self):
     self.send(self.finalMess)
    
  def resetMessage(self):
     self.finalMess = 0xFF
    
  def flick(self, direction):
     di = 0
     if (direction == self.RIGHT):
        di = 2
     elif(direction == self.LEFT):
        di = 1
     self.finalMess = self.finalMess ^ di   
     

  def send(self, inp):
    self.dev.handle.controlMsg(0x21, 0x09, self.SETUP, 0x02, 0x01)
    self.dev.handle.controlMsg(0x21, 0x09, self.MESS+(inp,), 0x02, 0x01)
    

class NoBuddyException(Exception): pass

class UsbDevice:
  def __init__(self, vendor_id, product_id, skip):
    busses = usb.busses()
    self.handle = None
    count = 0
    for bus in busses:
      devices = bus.devices
      for dev in devices:

        if dev.idVendor==vendor_id and dev.idProduct==product_id:
          if count==skip:
            print "vend :%s   prod: %s" % (dev.idVendor, dev.idProduct)
            self.dev = dev
            
            self.conf = self.dev.configurations[0]
            self.intf = self.conf.interfaces[0][0]
            self.endpoints = []
            for endpoint in self.intf.endpoints:
              self.endpoints.append(endpoint)
              print "endpoint"
            return
          else:
            count=count+1
    raise NoBuddyException()

  def open(self):
    if self.handle:
      self.handle = None
    self.handle = self.dev.open()
    #self.handle.detachKernelDriver(0)
    #self.handle.detachKernelDriver(1)
    self.handle.setConfiguration(self.conf)
    self.handle.claimInterface(self.intf)
    self.handle.setAltInterface(self.intf)






print "Starting search..."
deviceList = []
for devices in range(10):
   try:
      deviceList.append(BuddyDevice(devices))
   except NoBuddyException, e:
      print "."   

for de in deviceList:
   while (1):
	   de.resetMessage()
	   de.pumpMessage()
	   time.sleep(0.1)
	   de.setHeadColor(0,0,1)
	
	   de.pumpMessage()
	   
	   time.sleep(0.1)

Ah bah oui ca marche mieux avec python devant....
Comme un idiot je le lancer avec "./" !!!

Suis vraiment null en python..... merci Kanor.. big_smile

Zut, j'ai pas fais attention, mais tu as mis le lien du script.

Dernière modification par Dyocma (Le 14/11/2008, à 22:44)


Ubuntu 22.04 Lts

Hors ligne