Guest User

Untitled

a guest
Dec 7th, 2017
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. # Upload Tectonicus changed.txt files to ftp host.
  2. # By LordMike91
  3. # V 0.5
  4.  
  5. # imports
  6. import os
  7. from ftplib import FTP
  8. from sets import Set
  9.  
  10. # Vars
  11. changeFile = 'x:\\tectonicus\\changed.txt'
  12.  
  13. localRoot = 'x:\\tectonicus\\'
  14.  
  15. remoteRoot = '/'
  16. remoteHost = '127.0.0.1'
  17. remoteUser = ''
  18. remotePass = ''
  19.  
  20. # Make a list of changed files
  21. fChanged = open(changeFile, 'r')
  22.  
  23. files = []
  24.  
  25. for line in fChanged:
  26. # Tuple: localPath, remotePath
  27. t = line.strip(), line.replace(localRoot, '').strip().replace('\\', '/')
  28. files.append(t)
  29. #print line
  30.  
  31. fChanged.close()
  32.  
  33. # Connect to FTP
  34. ftp = FTP(remoteHost, remoteUser, remotePass)
  35. ftp.cwd(remoteRoot)
  36.  
  37. # Upload files
  38. i = 0
  39. createdDirectories = Set()
  40. for f in files:
  41. i += 1
  42.  
  43. # Make directory
  44. folders = f[1].split('/')
  45. for v in range(0, len(folders)):
  46. # Prepend previous folders
  47. folder = ''
  48. for p in range(0, v):
  49. folder += folders[p] + '/'
  50.  
  51. if folder not in createdDirectories:
  52. # Folder has not been attempted created before
  53. # Saves a lot of unecessary work
  54. try:
  55. ftp.mkd(folder)
  56. # print 'Made folder ' + folder
  57. except:
  58. pass
  59.  
  60. createdDirectories.add(folder)
  61.  
  62. print "Uploading file " + str(i) + " / " + str(len(files)) + " (" + f[1] + ")"
  63.  
  64. while True:
  65. try:
  66. toUpload = open(f[0], 'rb')
  67. ftp.storbinary('STOR ' + f[1], toUpload)
  68. toUpload.close()
  69.  
  70. break
  71. except:
  72. # Error uploading
  73. print 'Error uploading - trying again'
  74.  
  75. # Close connection
  76. ftp.quit()
Add Comment
Please, Sign In to add comment