I'm failing to set the active control point of a nurbs curve using bpy.

For context, I'm trying to add a hook to a selected pose bone. The following snippet demonstrates the idea. A pose bone is already selected:

    ob = bpy.context.active_object
    curve = ob.data.splines[0]
    scene = bpy.context.scene

    bpy.ops.object.mode_set(mode = 'OBJECT') 
    ob.select = True
    scene.objects.active = ob  

    bpy.ops.object.mode_set(mode = 'EDIT')
    bpy.ops.curve.select_all(action='DESELECT')
    curve.points[0].select = True
    bpy.ops.object.hook_add_selob(use_bone=True)

This returns the following error:

    RuntimeError: Error: Requires selected vertices or active vertex group