From 4f3a179be47dbf6dea4da884712a44979a22128b Mon Sep 17 00:00:00 2001 From: valfieri Date: Fri, 16 Oct 2020 18:40:27 +0200 Subject: [PATCH] Added a python script to upload Travis-CI build files on external FTP server. --- .travis.yml | 4 ++++ tools/ftp-upload-binaries.py | 29 +++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 tools/ftp-upload-binaries.py diff --git a/.travis.yml b/.travis.yml index 7e71bb775..959225719 100644 --- a/.travis.yml +++ b/.travis.yml @@ -62,3 +62,7 @@ after_success: - python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/Android/bin/Wagic-debug.apk -r Wagic-android.apk -b $TRAVIS_BRANCH - python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/psprelease.zip -r Wagic-psp.zip -b $TRAVIS_BRANCH - python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l qt-gui-build/linuxqtrelease.zip -r Wagic-linux-QT.zip -b $TRAVIS_BRANCH +- python tools/ftp-upload-binaries.py -u $FTP_URL -e $FTP_USER -l core.zip -r Wagic-core.zip -p $FTP_PASSWORD +- python tools/ftp-upload-binaries.py -u $FTP_URL -e $FTP_USER -l projects/mtg/Android/bin/Wagic-debug.apk -r Wagic-android.apk -p $FTP_PASSWORD +- python tools/ftp-upload-binaries.py -u $FTP_URL -e $FTP_USER -l projects/mtg/psprelease.zip -r Wagic-psp.zip -p $FTP_PASSWORD +- python tools/ftp-upload-binaries.py -u $FTP_URL -e $FTP_USER -l qt-gui-build/linuxqtrelease.zip -r Wagic-linux-QT.zip -p $FTP_PASSWORD diff --git a/tools/ftp-upload-binaries.py b/tools/ftp-upload-binaries.py new file mode 100644 index 000000000..0b994baf4 --- /dev/null +++ b/tools/ftp-upload-binaries.py @@ -0,0 +1,29 @@ +from optparse import OptionParser +from ftplib import FTP + +def main(): + parser = OptionParser() + parser.add_option("-l", "--local", help="FILE: specify local file path to upload", metavar="LOCAL", dest="local") + parser.add_option("-r", "--remote", help="NAME: specify remote asset name in the release.", metavar="REMOTE", dest="remote") + parser.add_option("-u", "--url", help="URL: specify url for ftp server", metavar="URL", dest="url") + parser.add_option("-e", "--user", help="USER: specify username for ftp server", metavar="USER", dest="user") + parser.add_option("-p", "--password", help="PASSWORD: specify password for ftp server", metavar="PASSWORD", dest="password") + + (options, args) = parser.parse_args() + + if (options.url and options.local and options.remote and options.user and options.password): + ftp = FTP(options.url) + ftp.login(options.user, options.password) + with open(options.local, 'r') as f: + ftp.storbinary('STOR %s' % options.remote, f) + ftp.quit() + s = 'File ' + options.local + ' has been uploaded as ' + options.remote + '.' + print s + else: + parser.print_help() + return + + + +if __name__ == "__main__": + main()