def get_artifact_archives(ftp): files = ftp.nlst() artifact_archives = [] for filename in files: artifact_file = artifact.parse_filename(filename) if artifact_file is None: continue artifact_archives.append(artifact_file) return artifact_archives
def delete_old_artifacts(ftp): artifact_archives = get_artifact_archives(ftp) delete_branch_builds = get_branch_builds_to_delete(artifact_archives) for artifact_file in artifact_archives: if artifact_file.build_number in delete_branch_builds[artifact_file.branch]: sys.stdout.write("Deleting old artifact '%s'..." % artifact_file.get_filename()) ftp.delete(artifact_file.get_filename()) sys.stdout.write(" done!\n") if len(sys.argv) != 5: print "Usage: %s [host] [username] [password] [file]" % sys.argv[0] sys.exit(1) host = sys.argv[1] username = sys.argv[2] password = sys.argv[3] filename = sys.argv[4] ftp = ftplib.FTP(host, username, password) if artifact.parse_filename(os.path.basename(filename)) is None: print "Invalid artifacts file '%s'." % filename sys.exit(1) upload_file(ftp, filename) delete_old_artifacts(ftp) ftp.quit()