(self, oid)
Validate and use the given id for this ObjectId.

        Raises TypeError if id is not an instance of
        (:class:`basestring` (:class:`str` or :class:`bytes`
        in python 3), ObjectId) and InvalidId if it is not a
        valid ObjectId.

        :Parameters:
          - `oid`: a valid ObjectId
Validate and use the given id for this ObjectId.
Validate and use the given id for this ObjectId .
def __validate(self, oid):
        """Validate and use the given id for this ObjectId.

        Raises TypeError if id is not an instance of
        (:class:`basestring` (:class:`str` or :class:`bytes`
        in python 3), ObjectId) and InvalidId if it is not a
        valid ObjectId.

        :Parameters:
          - `oid`: a valid ObjectId
        """
        if isinstance(oid, ObjectId):
            self.__id = oid.binary
        # bytes or unicode in python 2, str in python 3
        elif isinstance(oid, string_type):
            if len(oid) == 24:
                try:
                    self.__id = bytes_from_hex(oid)
                except (TypeError, ValueError):
                    _raise_invalid_id(oid)
            else:
                _raise_invalid_id(oid)
        else:
            raise TypeError("id must be an instance of (bytes, %s, ObjectId), "
                            "not %s" % (text_type.__name__, type(oid)))
def __validate ( self , oid ) : if isinstance ( oid , ObjectId ) : self . __id = oid . binary # bytes or unicode in python 2, str in python 3 elif isinstance ( oid , string_type ) : if len ( oid ) == 24 : try : self . __id = bytes_from_hex ( oid ) except ( TypeError , ValueError ) : _raise_invalid_id ( oid ) else : _raise_invalid_id ( oid ) else : raise TypeError ( "id must be an instance of (bytes, %s, ObjectId), " "not %s" % ( text_type . __name__ , type ( oid ) ) )