diff options
| author | Jason R. Coombs <jaraco@jaraco.com> | 2014-11-16 09:40:21 -0500 |
|---|---|---|
| committer | Jason R. Coombs <jaraco@jaraco.com> | 2014-11-16 09:40:21 -0500 |
| commit | 4d4dbd3c5c69f63418ca2f22e9d6a3b8185b2e00 (patch) | |
| tree | 01f6619f3630594bb677a10e4406fd822e9f6c26 /setuptools/windows_support.py | |
| parent | c5fa038292a9c7d6fe529c4d8001cec0d3bac9cf (diff) | |
| parent | 2c33dad04fd11ebd7fc8e15d0017ff2dc617e6a3 (diff) | |
| download | python-setuptools-git-4d4dbd3c5c69f63418ca2f22e9d6a3b8185b2e00.tar.gz | |
Merge with master
--HG--
branch : feature/issue-229
Diffstat (limited to 'setuptools/windows_support.py')
| -rw-r--r-- | setuptools/windows_support.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/setuptools/windows_support.py b/setuptools/windows_support.py new file mode 100644 index 00000000..cb977cff --- /dev/null +++ b/setuptools/windows_support.py @@ -0,0 +1,29 @@ +import platform +import ctypes + + +def windows_only(func): + if platform.system() != 'Windows': + return lambda *args, **kwargs: None + return func + + +@windows_only +def hide_file(path): + """ + Set the hidden attribute on a file or directory. + + From http://stackoverflow.com/questions/19622133/ + + `path` must be text. + """ + __import__('ctypes.wintypes') + SetFileAttributes = ctypes.windll.kernel32.SetFileAttributesW + SetFileAttributes.argtypes = ctypes.wintypes.LPWSTR, ctypes.wintypes.DWORD + SetFileAttributes.restype = ctypes.wintypes.BOOL + + FILE_ATTRIBUTE_HIDDEN = 0x02 + + ret = SetFileAttributes(path, FILE_ATTRIBUTE_HIDDEN) + if not ret: + raise ctypes.WinError() |
