import os
import sys

try:
	from jaraco.windows.filesystem import symlink
except ImportError:
	# a dirty reimplementation of symlink from jaraco.windows
	from ctypes import windll
	from ctypes.wintypes import LPWSTR, DWORD, BOOLEAN
	CreateSymbolicLink = windll.kernel32.CreateSymbolicLinkW
	CreateSymbolicLink.argtypes = (
		LPWSTR,
		LPWSTR,
		DWORD,
		)
	CreateSymbolicLink.restype = BOOLEAN

	def symlink(link, target, target_is_directory = False):
		"""
		An implementation of os.symlink for Windows (Vista and greater)
		"""
		target_is_directory = target_is_directory or os.path.isdir(target)
		CreateSymbolicLink(link, target, target_is_directory)

assert sys.platform in ('win32',)
os.makedirs(r'.\foo')
assert os.path.isdir(r'.\foo')

symlink(r'.\foo_sym', r'.\foo')
assert os.path.isdir(r'.\foo_sym')
assert os.path.islink(r'.\foo_sym') # fails
