Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 6th, 2012  |  syntax: None  |  size: 3.27 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Change Y in a: For X in Y?
  2. import os, time, math, ftplib, zipfile, socket ## Just the regular imports... I guess
  3.  
  4. session = ftplib.FTP("CENSORED.info")
  5. session.login(user="CENSORED",passwd="CENSORED")
  6. dbpath = "/home/CENSORED/Dropbox/CENSORED"
  7.  
  8. debuglevel=0
  9. session.set_debuglevel(debuglevel)
  10.  
  11. if session.getwelcome() != "":
  12.         level = 1
  13.     completed = []
  14.     leveldir = {}
  15.     currentdir = session.pwd()
  16.     directory = session.nlst()
  17.     reset = False
  18.     print("CONNECTED")
  19.     print("")
  20.  
  21.     while level != 0:
  22.         if reset == False:
  23.         level = 0
  24.         reset = True
  25.  
  26.         try:
  27.             print(directory)
  28.  
  29.  
  30.             for file in directory:
  31.                 if file not in completed:
  32.                    try:
  33.                     print("Getting",file)
  34.                     savefile = open(os.path.join(dbpath,file), 'wb')
  35.                     session.retrbinary("RETR %s" % file, savefile.write)
  36.                     completed.append(file)
  37.  
  38.                    except ftplib.error_perm:
  39.                     level += 1
  40.                     leveldir[level] = currentdir
  41.                     session.cwd(currentdir + file)
  42.                     leveldir[level] = currentdir
  43.                     directory = session.nlst()
  44.                     print(leveldir,level)
  45.                     print(file,"is a Directory! Attempting to enter...")
  46.         if directory in completed:
  47.             level -= 1
  48.             session.cwd(leveldir[level])
  49.  
  50.  
  51.  
  52.  
  53.     except IOError:
  54.         print("Could Not obtain directory...")
  55.  
  56. else:
  57. print("")
  58. print("DISCONNECTED")
  59.  
  60.  
  61. session.close()
  62. print("")
  63. print("DISCONNECTED")
  64.        
  65. lib is a Directory! Attempting to enter...
  66. Getting minecraft_server.jar
  67. Traceback (most recent call last):
  68.   File "CENSOREDftpbackup.py", line 34, in <module>
  69.     session.retrbinary("RETR %s" % file, savefile.write)
  70.   File "/usr/local/lib/python3.2/ftplib.py", line 417, in retrbinary
  71.     with self.transfercmd(cmd, rest) as conn:
  72.   File "/usr/local/lib/python3.2/ftplib.py", line 379, in transfercmd
  73.     return self.ntransfercmd(cmd, rest)[0]
  74.   File "/usr/local/lib/python3.2/ftplib.py", line 342, in ntransfercmd
  75.     resp = self.sendcmd(cmd)
  76.   File "/usr/local/lib/python3.2/ftplib.py", line 255, in sendcmd
  77.     return self.getresp()
  78.   File "/usr/local/lib/python3.2/ftplib.py", line 229, in getresp
  79.     raise error_perm(resp)
  80. ftplib.error_perm: 550 Can't open minecraft_server.jar: No such file or directory
  81.  
  82. During handling of the above exception, another exception occurred:
  83.  
  84. Traceback (most recent call last):
  85.   File "CENSORED.py", line 40, in <module>
  86.     session.cwd(currentdir + file)
  87.   File "/usr/local/lib/python3.2/ftplib.py", line 556, in cwd
  88.     return self.voidcmd(cmd)
  89.   File "/usr/local/lib/python3.2/ftplib.py", line 260, in voidcmd
  90.     return self.voidresp()
  91.   File "/usr/local/lib/python3.2/ftplib.py", line 234, in voidresp
  92.     resp = self.getresp()
  93.   File "/usr/local/lib/python3.2/ftplib.py", line 229, in getresp
  94.     raise error_perm(resp)
  95. ftplib.error_perm: 550 Can't change directory to /minecraft_server.jar: Not a directory
  96.        
  97. startFolder = '/home/nick'
  98.  
  99. processFolder(startFolder)
  100.  
  101. def processFolder(folder)
  102.     session.changedir(folder)
  103.     for entry in folder
  104.         if entry isa directory
  105.             processFolder(entry)
  106.         else
  107.             processFile(entry)
  108.     session.changedir('..')