def do_readrange(self, args):
        args = args.split()
        if _debug: ReadRangeConsoleCmd._debug("do_readrange %r", args)

        try:
            addr, obj_type, obj_inst, prop_id = args[:4]

            if obj_type.isdigit():
                obj_type = int(obj_type)
            elif not get_object_class(obj_type):
                raise ValueError, "unknown object type"

            obj_inst = int(obj_inst)

            datatype = get_datatype(obj_type, prop_id)
            if not datatype:
                raise ValueError, "invalid property for object type"

            # build a request
            request = ReadRangeRequest(
                objectIdentifier=(obj_type, obj_inst),
                propertyIdentifier=prop_id,
                )
            request.pduDestination = Address(addr)

            if len(args) == 5:
                request.propertyArrayIndex = int(args[4])
            if _debug: ReadRangeConsoleCmd._debug("    - request: %r", request)

            # give it to the application
            this_application.request(request)

        except Exception, e:
            ReadRangeConsoleCmd._exception("exception: %r", e)

#
#   __main__
#
Mark the failure handler
dataset/ETHPy150Open JoelBender/bacpypes/samples/ReadRange.py/ReadRangeConsoleCmd.do_readrange--crossover with--dataset/ETHPy150Open KunihikoKido/sublime-elasticsearch-client/lib/analytics/test/client.py/TestClient.fail