Index: recipe_engine/third_party/setuptools/windows_support.py |
diff --git a/recipe_engine/third_party/setuptools/windows_support.py b/recipe_engine/third_party/setuptools/windows_support.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..cb977cff9545ef5d48ad7cf13f2cbe1ebc3e7cd0 |
--- /dev/null |
+++ b/recipe_engine/third_party/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() |