'Look for the register_opt/register_opts calls.'

def visit_Call(self, node):

    if isinstance(node.func, ast.Attribute):
        if (not isinstance(node.func.value, ast.Name)):
            return super(CheckOptRegistrationArgs, self).generic_visit(node)
        method_name = node.func.attr
        if (method_name not in self.register_methods):
            return super(CheckOptRegistrationArgs, self).generic_visit(node)
        if (len(node.args) > 0):
            argument_name = self._find_name(node.args[0])
            if argument_name:
                if ((method_name == self.singular_method) and (not argument_name.lower().endswith('opt'))):
                    self.add_error(node.args[0])
                elif ((method_name == self.plural_method) and (not argument_name.lower().endswith('opts'))):
                    self.add_error(node.args[0])
            elif ((method_name == self.singular_method) and self._is_list_or_tuple(node.args[0])):
                self.add_error(node.args[0])
            elif ((method_name == self.plural_method) and (not self._is_list_or_tuple(node.args[0]))):
                self.add_error(node.args[0])
    return super(CheckOptRegistrationArgs, self).generic_visit(node)
