Finished uploader to FTP (will upload only stable versions)

This commit is contained in:
Manuel Cortez 2019-11-25 10:49:58 -06:00
parent 8aa7f34fd2
commit 3a87d2957a

View File

@ -1,12 +1,55 @@
#! /usr/bin/env python #! /usr/bin/env python
""" Upload socializer to the ftp server. """ """ Upload socializer to the ftp server. """
import os
import sys import sys
import os
import glob
import ftplib import ftplib
ftp_server = sys.argv[1] transferred=0
ftp_username = sys.argv[2]
ftp_password = sys.argv[2] def convert_bytes(n):
source_file = sys.argv[3] K, M, G, T, P = 1 << 10, 1 << 20, 1 << 30, 1 << 40, 1 << 50
dest_file = sys.argv[4] if n >= P:
version = sys.argv[5] return '%.2fPb' % (float(n) / T)
elif n >= T:
return '%.2fTb' % (float(n) / T)
elif n >= G:
return '%.2fGb' % (float(n) / G)
elif n >= M:
return '%.2fMb' % (float(n) / M)
elif n >= K:
return '%.2fKb' % (float(n) / K)
else:
return '%d' % n
def callback(progress):
global transferred
transferred = transferred+len(progress)
print("Uploaded {}".format(convert_bytes(transferred),))
ftp_server = os.environ.get("FTP_SERVER") or sys.argv[1]
ftp_username = os.environ.get("FTP_USERNAME") or sys.argv[2]
ftp_password = os.environ.get("FTP_PASSWORD") or sys.argv[3]
version = os.environ.get("CI_COMMIT_TAG") or sys.argv[4]
version = version.replace("v", "")
print("Uploading files to the Socializer server...")
connection = ftplib.FTP(ftp_server)
print("Connected to FTP server {}".format(ftp_server,))
connection.login(user=ftp_username, passwd=ftp_password)
print("Logged in successfully")
connection.cwd("static/files/")
if version not in connection.nlst():
print("Creating version directory {} because does not exists...".format(version,))
connection.mkd(version)
connection.cwd(version)
print("Moved into version directory")
files = glob.glob("*.zip")+glob.glob("*.exe")
print("These files will be uploaded into the version folder: {}".format(files,))
for file in files:
transferred = 0
print("Uploading {}".format(file,))
with open(file, "rb") as f:
connection.storbinary('STOR %s' % file, f, callback=callback, blocksize=1024*1024)
print("Upload completed. exiting...")
connection.quit()