Guest User

Untitled

a guest
May 25th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.00 KB | None | 0 0
  1. from urllib.request import urlretrieve
  2. from urllib.error import URLError
  3. from zipfile import ZipFile
  4. import sys
  5. import os
  6. import errno
  7. import shutil
  8.  
  9.  
  10. vim = ".vimtest"
  11. vim_directories = [vim, (vim + "/bundle"), (vim + "/autoload"), (vim + "/colors")]
  12. vim_files = [".vimrctest", vim + "/vimrc"]
  13. flags = os.O_CREAT | os.O_EXCL | os.O_WRONLY
  14.  
  15.  
  16. def vim_install():
  17.  
  18. # Create directories and files
  19.  
  20. for sub in vim_directories:
  21. try:
  22. os.mkdir(os.path.expanduser('~/' + sub))
  23. print("mkkdir " + os.path.expanduser('~/' + sub))
  24. except OSError as e:
  25. if e.errno == errno.EEXIST:
  26. print("Directory " + vim + sub + " already exists.")
  27. sys.exit(1)
  28. else:
  29. raise
  30.  
  31. try:
  32. file_handle = os.open(os.path.expanduser('~/' + vim_files[1]), flags)
  33. except OSError as e:
  34. if e.errno == errno.EEXIST:
  35. print("File " + vim_files[1] + " already exists")
  36. sys.exit(1)
  37. else:
  38. raise
  39. with os.fdopen(file_handle, 'w') as file_obj:
  40. file_obj.write("")
  41. print("Created file " + os.path.expanduser('~/') + vim_files[1])
  42.  
  43. try:
  44. os.symlink(os.path.expanduser('~/') + vim_files[1],
  45. os.path.expanduser('~/') + vim_files[0])
  46. print("ln -s " + os.path.expanduser('~/') + vim_files[0] + " -> " +
  47. os.path.expanduser('~/') + vim_files[1])
  48.  
  49. except OSError:
  50. print("Failed to make symbolic link.")
  51. print("ln -s " + os.path.expanduser('~/') +
  52. vim_files[0] + " -> " + os.path.expanduser('~/') +
  53. vim_files[1])
  54. sys.exit(1)
  55.  
  56. # Download Pathogen, NerdTree, unpack
  57.  
  58. try:
  59. urlretrieve("https://tpo.pe/pathogen.vim",
  60. os.path.expanduser('~/' + vim + "/autoload/pathogen.vim"))
  61. print("Downloaded Pathogen")
  62.  
  63. urlretrieve("https://github.com/scrooloose/nerdtree/archive/master.zip",
  64. os.path.expanduser('~/' + vim + "/bundle/master.zip"))
  65. print("Downloaded NerdTree")
  66.  
  67. except URLError as e:
  68. if hasattr(e, 'reason'):
  69. print('Scrip failed to reach a server.')
  70. print('Reason: ', e.reason)
  71. elif hasattr(e, 'code'):
  72. print('The server couldn't fulfill the request.')
  73. print('Error code: ', e.code)
  74. else:
  75. pass
  76.  
  77. try:
  78. zip_ref = ZipFile(os.path.expanduser('~/') + vim +
  79. "/bundle/master.zip", 'r')
  80. zip_ref.extractall(os.path.expanduser('~/') + vim + "/bundle/")
  81. zip_ref.close()
  82. print("Unziped NerdTree")
  83.  
  84. except OSError as e:
  85. print("Could not unzip: {0}".format(e))
  86.  
  87. try:
  88. os.rename(os.path.expanduser('~/' + vim + "/bundle/nerdtree-master"),
  89. os.path.expanduser('~/' + vim + "/bundle/nerdtree"))
  90. print("Renamed " + os.path.expanduser('~/') + vim +
  91. "/bundle/nerdtree-master n"
  92. + os.path.expanduser('~/') + vim + "/bundle/nerdtree")
  93.  
  94. except OSError as e:
  95. print("OS error {0}".format(e))
Add Comment
Please, Sign In to add comment