1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
qTox/tools/update-server/deployUpdateS3.py
2014-11-10 13:49:34 +01:00

57 lines
1.5 KiB
Python

#!/usr/bin/python2.7
# This script deploys a qTox update to Amazon S3: It will upload ./qtox/win32/version, ./qtox/win32/flist, and ./qtox/win32/files/*
# Pass the path to the root of the local update server as argument, no spaces allowed
import sys
import os
import boto
from boto.s3.key import Key
# Check our local folders
if (len(sys.argv) < 2):
print("ERROR: Needs the path to the local update server in argument")
sys.exit(1)
localpath = sys.argv[1];
prefix = "/qtox/win32/" # We only support Windows for now
# Connect to S3
conn = boto.connect_s3()
bucket = conn.get_bucket('qtox-updater')
print("Connected to S3")
sys.stdout.flush()
# Delete the old version, so nobody downloads a half-uploaded update
print("Deleting version ...")
sys.stdout.flush()
oldversion = Key(bucket)
oldversion.key = prefix+'version'
bucket.delete_key(oldversion)
# Upload files/
filenames = next(os.walk(localpath+prefix+'/files/'))[2]
for filename in filenames:
print("Uploading files/"+filename+'...')
sys.stdout.flush()
k = Key(bucket)
k.key = prefix+'files/'+filename
k.set_contents_from_filename(localpath+prefix+'/files/'+filename)
k.make_public()
# Upload version and flist
print("Uploading flist...")
sys.stdout.flush()
flist = Key(bucket)
flist.key = prefix+'flist'
flist.set_contents_from_filename(localpath+prefix+'flist')
flist.make_public()
print("Uploading version...")
sys.stdout.flush()
version = Key(bucket)
version.key = prefix+'version'
version.set_contents_from_filename(localpath+prefix+'version')
version.make_public()