Foros del Web » Programando para Internet » Python »

Error -> IndentationError: unindent does not match any outer indentation level

Estas en el tema de Error -> IndentationError: unindent does not match any outer indentation level en el foro de Python en Foros del Web. Amigos saludos a todos, por ahora ando con un proyecto de puerto paralelo manejado con una aplicación pygtk. necesito de su ayuda, basicamente lo que ...
  #1 (permalink)  
Antiguo 18/10/2008, 21:15
 
Fecha de Ingreso: enero-2008
Mensajes: 10
Antigüedad: 16 años, 3 meses
Puntos: 0
Exclamación Error -> IndentationError: unindent does not match any outer indentation level

Amigos saludos a todos, por ahora ando con un proyecto de puerto paralelo manejado con una aplicación pygtk.
necesito de su ayuda,
basicamente lo que trato de hacer es un timer que cada cierto tiempo me de pulso a un pin del puerto, pero un metodo me da este erro. aqui dejo el codigo.

lo pueden ver aquí

http://pastebin.com/d3a8fcbd7

ERROR
File "/home/dk/Público/PuertoCOnPython/parport/ejecutar.py", line 27
def pulso(self, widget,data=None):
^
IndentationError: unindent does not match any outer indentation level


CODIGO

Código python:
Ver original
  1. #!/usr/bin/env python
  2. from parport import ParallelPort #"parport" es una libreria en python encontrada en
  3.                                  #[url]http://devpower.blogsite.org/[/url]
  4. import threading                 #MODIFICADO POR DKCROSS
  5. import pygtk
  6. pygtk.require('2.0')
  7. import gtk
  8. p = ParallelPort(0x378)
  9.  
  10. entry = gtk.Entry(max=3)
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17. global maintimer
  18. class Paralelo:
  19.  
  20.      
  21.  
  22.     def checktemp(self):
  23.         self.contar+=128
  24.         p.write(self.contar)
  25.     def hacer(self, widget, data=None):
  26.         self.maintimer = gobject.timeout_add(1000, self.checktemp)
  27.      def pulso(self, widget,data=None):  <---- AQUI
  28.         self.contar+=64
  29.      def iniciar():
  30.         t=threading.Timer(3.0,self.pulso)
  31.         t.start()
  32.     def todo(self, widget, data=None):
  33.         p.write(255)
  34.        
  35.     def primera(self, widget, data=None):
  36.     self.contar+=1
  37.         p.write(self.contar)
  38.     def apaprimera(self, widget, data=None):
  39.     self.contar-=1
  40.         p.write(self.contar)
  41.     def segundo(self, widget, data=None):
  42.     self.contar+=2
  43.         p.write(self.contar)
  44.     def apasegundo(self, widget, data=None):
  45.     self.contar-=2
  46.         p.write(self.contar)
  47.     def tercero(self, widget, data=None):
  48.         p.write(4)
  49.     def cuarto(self, widget, data=None):
  50.         p.write(8)
  51.     def motor1(self, widget, data=None):
  52.     self.contar+=64
  53.         p.write(self.contar)
  54.     def apagarm1(self, widget, data=None):
  55.     self.contar-=64
  56.         p.write(self.contar)
  57.    
  58.     def motor2(self, widget, data=None):
  59.     self.contar+=128        
  60.     p.write(self.contar)    
  61.     def apagarm2(self, widget, data=None):
  62.     self.contar-=128
  63.         p.write(self.contar)
  64.    
  65.     def nada(self, widget, data=None):
  66.         p.write(16)
  67.        
  68.     def algunos(self, widget, data=None):
  69.         valor = int(entry.get_text())
  70.         p.write(valor)
  71.  
  72.        
  73.  
  74.  
  75.                    
  76.  
  77.    
  78.        
  79.     def delete_event(self, widget, event, data=None):
  80.         p.write(0)
  81.         return gtk.FALSE
  82.    
  83.     def destroy(self, widget, data=None):
  84.         p.write(0)
  85.         gtk.main_quit()
  86.        
  87.     def __init__(self):
  88.     #timeout = gtk.timeout_add(10,timer_cb)
  89.     self.contar = 0
  90.     self.con = 0
  91.     self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
  92.         self.window.set_title("Manejo del Puerto Paralelo By DecAcRoSs")
  93.         self.window.connect("delete_event", self.delete_event)
  94.         self.window.connect("destroy", self.destroy)
  95.         self.window.set_border_width(125)
  96.         vbox = gtk.VBox(gtk.TRUE,2)
  97.         self.window.add(vbox)
  98.     vbox2 = gtk.VBox(gtk.TRUE,2)
  99.         self.window.add(vbox2)
  100.        
  101.         #Primera lamp
  102.         primeraB = gtk.Button("Primera Lampara")
  103.         primeraB.connect("clicked", self.primera, None)
  104.         vbox.pack_start(primeraB, gtk.TRUE, gtk.TRUE, 2)
  105.         primeraB.show()
  106.  
  107.     aprimeraB = gtk.Button("Apagar Lampara 1")
  108.         aprimeraB.connect("clicked", self.apaprimera, None)
  109.         vbox.pack_start(aprimeraB, gtk.TRUE, gtk.TRUE, 2)
  110.         aprimeraB.show()
  111.     #segunda lamp
  112.     segundaB = gtk.Button("Segunda Lampara")
  113.         segundaB.connect("clicked", self.segundo, None)
  114.         vbox.pack_start(segundaB, gtk.TRUE, gtk.TRUE, 2)
  115.         segundaB.show()
  116.    
  117.    
  118.     asegundaB = gtk.Button("Apagar Lampara 2")
  119.         asegundaB.connect("clicked", self.apasegundo, None)
  120.         vbox.pack_start(asegundaB, gtk.TRUE, gtk.TRUE, 2)
  121.         asegundaB.show()
  122.     #terceraB = gtk.Button("Tercera Lampara")
  123.         #terceraB.connect("clicked", self.tercero, None)
  124.         #vbox.pack_start(terceraB, gtk.TRUE, gtk.TRUE, 2)
  125.         #terceraB.show()
  126.     #cuartaB = gtk.Button("Cuarta Lampara")
  127.         #cuartaB.connect("clicked", self.cuarto, None)
  128.         #vbox.pack_start(cuartaB, gtk.TRUE, gtk.TRUE, 2)
  129.         #cuartaB.show()
  130.  
  131.     #Voladora
  132.     image = gtk.Image()
  133.         image.set_from_file("voladora.jpg")
  134.         image.show()
  135.     fmotorB = gtk.Button("Iniciar Voladora")
  136.     fmotorB.add(image)
  137.         fmotorB.connect("clicked", self.hacer, None)
  138.         vbox.pack_start(fmotorB, gtk.TRUE, gtk.TRUE, 2)
  139.      
  140.         #self.maintimer = gobject.timeout_add(1000, self.checktemp)
  141.         fmotorB.show()
  142.    
  143.     apam1B = gtk.Button("Apagar Voladora")
  144.         apam1B.connect("clicked", self.apagarm1, None)
  145.         vbox.pack_start(apam1B, gtk.TRUE, gtk.TRUE, 2)
  146.         apam1B.show()
  147.  
  148.  
  149.     image = gtk.Image()
  150.         image.set_from_file("chicago.jpg")
  151.         image.show()
  152.         lmotorB = gtk.Button("Iniciar Chicago")
  153.     lmotorB.add(image)
  154.         lmotorB.connect("clicked", self.iniciar, None)
  155.         vbox.pack_start(lmotorB, gtk.TRUE, gtk.TRUE, 2)
  156.         lmotorB.show()
  157.  
  158.    
  159.     apam2B = gtk.Button("Apagar Chicago")
  160.         apam2B.connect("clicked", self.apagarm2, None)
  161.         vbox.pack_start(apam2B, gtk.TRUE, gtk.TRUE, 2)
  162.         apam2B.show()  
  163.     #termina ruedas
  164.     #todoB = gtk.Button("Prende todos los LEDs")
  165.         #todoB.connect("clicked", self.todo, None)
  166.         #vbox.pack_start(todoB, gtk.TRUE, gtk.TRUE, 2)
  167.         #todoB.show()
  168.         nadaB = gtk.Button("Apaga todos los LEDs")
  169.         nadaB.connect("clicked", self.nada, None)
  170.         vbox.pack_start(nadaB, gtk.TRUE, gtk.TRUE, 2)
  171.         nadaB.show()
  172.         vbox.pack_start(entry, gtk.TRUE, gtk.TRUE, 2)
  173.         entry.show()
  174.  
  175.  
  176.         algunosB = gtk.Button("Prende solo algunos LEDs")
  177.         algunosB.connect("clicked", self.algunos, None)
  178.         vbox.pack_start(algunosB, gtk.TRUE, gtk.TRUE, 2)
  179.         algunosB.show()
  180.         salirB = gtk.Button("Salir")
  181.         salirB.connect("clicked", self.destroy, None)
  182.         vbox.pack_start(salirB, gtk.TRUE, gtk.TRUE, 2)
  183.         salirB.show()
  184.    
  185.  
  186.        
  187.        
  188.        
  189.  
  190.         vbox.show()
  191.         self.window.show()
  192.        
  193.     def main(self):
  194.         gtk.main()
  195.        
  196. if __name__ == "__main__":
  197.     paralelo = Paralelo()
  198.     paralelo.main()

Última edición por AlvaroG; 19/10/2008 a las 07:32 Razón: agregar resaltado de sintaxis
  #2 (permalink)  
Antiguo 19/10/2008, 07:20
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 6 meses
Puntos: 890
Respuesta: Error -> IndentationError: unindent does not match any outer indentation l

Supongo que sabras que el error que te da es por que no tiene indentación, sangrado.
Y si ese no es el error, pues no se cual puede ser, por que todo apunta a ello.
Saludos
__________________
Drupal Argentina
  #3 (permalink)  
Antiguo 19/10/2008, 07:32
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error -> IndentationError: unindent does not match any outer indentation l

Como sabrás, en Python los bloques se delimitan por su sangrado.
Ese error simplemente indica que el sangrado de esa línea no corresponde con el de ningún bloque.
En el código que pegaste en el sitio al que vinculás, se ve que "pulso" y la función que le sigue tienen 5 espacios delante, cuando ese nivel de bloque está definido por 4 espacios.

Siempre tenés que asegurarte de que el sangrado sea correcto, python es MUY quisquilloso con esto pero por otro lado las reglas son claras.


Saludos.

Última edición por AlvaroG; 19/10/2008 a las 07:38
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:37.