equal
deleted
inserted
replaced
534 if pf[0] == '`': |
534 if pf[0] == '`': |
535 pf = pf[1:-1] # Remove the quotes |
535 pf = pf[1:-1] # Remove the quotes |
536 return pf |
536 return pf |
537 |
537 |
538 try: # Mark Hammond's win32all package allows better functionality on Windows |
538 try: # Mark Hammond's win32all package allows better functionality on Windows |
539 import win32api, win32con, win32file, pywintypes |
539 import win32api, win32con, win32file, winerror, pywintypes |
540 |
540 |
541 # create hard links using win32file module |
541 # create hard links using win32file module |
542 def os_link(src, dst): # NB will only succeed on NTFS |
542 def os_link(src, dst): # NB will only succeed on NTFS |
543 win32file.CreateHardLink(dst, src) |
543 win32file.CreateHardLink(dst, src) |
544 |
544 |
553 return res[7] |
553 return res[7] |
554 except: |
554 except: |
555 return os.stat(pathname).st_nlink |
555 return os.stat(pathname).st_nlink |
556 |
556 |
557 def testpid(pid): |
557 def testpid(pid): |
558 '''return True if pid is still running or unable to determine, False otherwise''' |
558 '''return True if pid is still running or unable to |
|
559 determine, False otherwise''' |
559 try: |
560 try: |
560 handle = win32api.OpenProcess(win32con.PROCESS_QUERY_INFORMATION, False, pid) |
561 handle = win32api.OpenProcess( |
|
562 win32con.PROCESS_QUERY_INFORMATION, False, pid) |
561 if handle: |
563 if handle: |
562 status = win32process.GetExitCodeProcess(handle) |
564 status = win32process.GetExitCodeProcess(handle) |
563 if status == win32con.STILL_ACTIVE: |
565 return status == win32con.STILL_ACTIVE |
564 return True |
|
565 else: |
|
566 return False |
|
567 except pywintypes.error, details: |
566 except pywintypes.error, details: |
568 if details[0] == 87: # ERROR_INVALID_PARAMETER |
567 return details[0] != winerror.ERROR_INVALID_PARAMETER |
569 return False |
|
570 return True |
568 return True |
571 |
569 |
572 except ImportError: |
570 except ImportError: |
573 def testpid(pid): |
571 def testpid(pid): |
574 '''return False if pid dead, True if running or not known''' |
572 '''return False if pid dead, True if running or not known''' |