time.sleep requires integers?
Question: I'm writing a macro that will click certain spots on the screen when I press a
key.

The first time I press a key, everything runs fine.  
However, any other key press results in the error:

    
    
        time.sleep(0.1)
    TypeError: an integer is required
    

Here is the code:

    
    
    import win32api
    import win32con
    import time
    import pythoncom
    import pyHook
    import os
    
    def Click(x,y):
        win32api.SetCursorPos((x,y))
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
    
    def DeleteRun(event):
        Click(1250, 741)
        time.sleep(0.1)
        Click(649,261)
        time.sleep(0.1)
        Click(651, 348)
        time.sleep(0.1)
        Click(800, 442)
        time.sleep(0.1)
        Click(865, 612)
    
    
    Click(20,20)
    KeyGrabber = pyHook.HookManager()
    KeyGrabber.KeyDown = DeleteRun
    KeyGrabber.HookKeyboard()
    pythoncom.PumpMessages()
    

It seems the first time the `DeleteRun` function is run by `pyHook`,
`time.sleep(`) accepts floats.  
On any following function calls, it seems it only accepts integers.

What is causing this?  
I can't wait 5 seconds for the mouse arrangement! It's supposed to save time!

**Specs:**

  * python 2.7.2 
  * Windows 7 (32) 


Answer: Okay, how about this? Add a return True to DeleteRun:

    
    
    def DeleteRun(event):
        Click(1250, 741)
        time.sleep(0.1)
        [...]
        return True
    

I should probably confess that this was little more than google-fu: read the
answer to [this question](http://stackoverflow.com/questions/3049068/help-
with-pyhook-error).

