mirror of https://github.com/qTox/qTox.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.4 KiB
51 lines
1.4 KiB
#!/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") |
|
|
|
# Delete the old version, so nobody downloads a half-uploaded update |
|
print("Deleting version ...") |
|
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+'...') |
|
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...") |
|
flist = Key(bucket) |
|
flist.key = prefix+'flist' |
|
flist.set_contents_from_filename(localpath+prefix+'flist') |
|
flist.make_public() |
|
|
|
print("Uploading version...") |
|
version = Key(bucket) |
|
version.key = prefix+'version' |
|
version.set_contents_from_filename(localpath+prefix+'version') |
|
version.make_public() |
|
|
|
|