Пример #1
0
def main(argv):
    try:
        opts, args = getopt.getopt(
            argv[1:],
            "h:a:d:lA:D:L",
            ["help", "add-device=", "list-devices", "delete-device=", "add-plate=", "list-plates", "delete-plate="],
        )
        if not opts:
            raise getopt.GetoptError("Se esperaba un parametro")
        env = bootstrap(path.dirname(path.realpath(__file__)) + "/condor.ini")
        initialize_sql(env["registry"].settings)
        for opt, arg in opts:
            if opt in ("-a", "--add-device"):
                devargs = arg.split(",")
                dev = Device(devargs[0], devargs[1], devargs[2])
                existing = DBSession.query(Device).filter_by(instream=dev.instream).count()
                if not existing:
                    DBSession.add(dev)
                    transaction.commit()
                else:
                    print("Ya existe ese dispositivo en la base")
            elif opt in ("-A", "--add-plate"):
                plate = Plate()
                plate.code = arg
                existing = DBSession.query(Plate).filter_by(code=arg).count()
                if not existing:
                    DBSession.add(plate)
                    transaction.commit()
                else:
                    print("Ya existe esa placa en la base")
            elif opt in ("-l", "--list-devices"):
                devices = DBSession.query(Device).all()
                for d in devices:
                    print(d)
            elif opt in ("-D", "--delete-plate"):
                DBSession.query(Plate).filter_by(code=arg).delete()
            elif opt in ("-L", "--list-plates"):
                plates = DBSession.query(Plate).all()
                for p in plates:
                    print(p)
            else:

                print("Sorry, not implemented")
    except getopt.GetoptError:
        print(usage())
        sys.exit(2)
Пример #2
0
 def save(self, img, code, stats):
     stats.detected()
     if self.dev.logging:
         log.debug("loging capture to db")
         transaction.begin()
         plate = Plate.findBy(code)
         if plate.active:
             self.src.alarm()
         plate.log()
         transaction.commit()
     ts = datetime.now().strftime("%Y%m%d-%H%M%S")
     log.save_image(img,code+ts,'log/')
     if img.filename:
         real = path.splitext(path.basename(img.filename))[0].upper()
         output = code.upper().replace(" ","")[:6]
         if output == real[:6]:
             log.debug("\033[92m" + output + ": OK \033[0m")
             stats.found()
         else:
             log.debug(real[:6] + ": " + output)