Error de indentacion, en serio?

Iniciado por po6xsecpo, Octubre 22, 2014, 07:01:48 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Octubre 22, 2014, 07:01:48 PM Ultima modificación: Octubre 22, 2014, 07:20:04 PM por blackdrake
Se;ores, alguno sabe por que el compilador me dice que:

CitarFile "checkCDCProgramations.py", line 39
    print type(registro)
                       ^
IndentationError: unindent does not match any outer indentation level

He cuidado cada nivel de indentacion con 4 espacios por nivel. No se cual pueda ser el error.

Código: python
	

    #!/bin/usr/env python
    import MySQLdb
    import os
    import datetime
     
    from mail import Mail
     
    def main():
     
        # Establecemos la conexion con la base de datos
        bd = MySQLdb.connect("IP","user","pass","database" )
     
        # Preparamos el cursor que nos va a ayudar a realizar las operaciones con la base de datos
        cursor = bd.cursor()
     
        # Preparamos el query SQL para obtener todos los empleados de la BD
        sql = "select bla,bla,bla" #where estado = 'E';"
     
        try:
            # Ejecutamos el comando
                        cursor.execute(sql)
                        # Obtenemos todos los registros en una lista de listas
                        resultados = cursor.fetchone()
               
               
               
                        if resultados > 0:
                print type(registro)
                regs = registro[0]
                print type(regs)
                # Imprimimos los resultados obtenidos
                print "Total de fallidos encontrados = %d  " % (regs)
                if int(regs)>0:
                    sendAlert()
                    print "entra funcion alert()"
     
                    sendSMS(regs)
                    print "entra funcion sms()"
     
                else:
                    print "Todo ok esta dentro del rango normal de 0-40 fallidos"
     
        except Error:
                        print "Error: No se pudo obtener la data"
     
        # Nos desconectamos de la base de datos
        cursor.close()
        bd.close()
        print (datetime.datetime.now())
     
        def sendAlert():
            #Set the parameters for send the mail
            from_addr = ['[email protected]']
            to_addr_list = ['[email protected]']
            cc_addr_list = ['[email protected]']
            subject = 'Python-Mail-Test-alert'
            message = 'Alerta revisar CDC programacion, hay registro en estado E'
            login = '[email protected]'
            password     = 'pass.'
            smtpserver   = 'smtp.gmail.com:port'
     
            #create a new object Mail() type
            newMail=Mail()
     
            #call sendEmail method from class
            newMail.sendEmail(from_addr,to_addr_list,cc_addr_list,subject,message,login,password,smtpserver)
     
        def sendSMS(self,regs):
            os.system(r"Linux console command here")
     
    pass
     
    if __name__ == '__main__':
        main()





Aca el snippet en You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Hola
Fijate en la linea 29 y 30 del post..
Tenes un if, se supone que el print deberia estar dentro de ese if y no fuera como lo has hecho

Saludos!
ANTRAX


ahi esta mal indentado

Código: python
              if resultados > 0:
                print type(registro)
                regs = registro[0]
                print type(regs)
                # Imprimimos los resultados obtenidos
                print "Total de fallidos encontrados = %d  " % (regs)



queda asi

Código: python
#!/bin/usr/env python

import MySQLdb
import os
import datetime

from mail import Mail

def main():

    # Establecemos la conexion con la base de datos
    bd = MySQLdb.connect("IP","user","pass","database" )

    # Preparamos el cursor que nos va a ayudar a realizar las operaciones con la base de datos
    cursor = bd.cursor()

    # Preparamos el query SQL para obtener todos los empleados de la BD
    sql = "select bla,bla,bla" #where estado = 'E';"

    try:
        # Ejecutamos el comando
      cursor.execute(sql)
    # Obtenemos todos los registros en una lista de listas
            resultados = cursor.fetchone()
           
           
           
    if resultados > 0:
            print type(registro)
            regs = registro[0]
            print type(regs)
            # Imprimimos los resultados obtenidos
            print "Total de fallidos encontrados = %d  " % (regs)
            if int(regs)>0:
                sendAlert()
                print "entra funcion alert()"

                sendSMS(regs)
                print "entra funcion sms()"

            else:
                print "Todo ok esta dentro del rango normal de 0-40 fallidos"

    except Error:
    print "Error: No se pudo obtener la data"

    # Nos desconectamos de la base de datos
    cursor.close()
    bd.close()
    print (datetime.datetime.now())

    def sendAlert():
        #Set the parameters for send the mail
        from_addr = ['[email protected]']
        to_addr_list = ['[email protected]']
        cc_addr_list = ['[email protected]']
        subject = 'Python-Mail-Test-alert'
        message = 'Alerta revisar CDC programacion, hay registro en estado E'
        login = '[email protected]'
        password     = 'pass.'
        smtpserver   = 'smtp.gmail.com:port'

        #create a new object Mail() type
        newMail=Mail()

        #call sendEmail method from class
        newMail.sendEmail(from_addr,to_addr_list,cc_addr_list,subject,message,login,password,smtpserver)

    def sendSMS(self,regs):
        os.system(r"Linux console command here")

pass

if __name__ == '__main__':
    main()
Web: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Twitter: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login