mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-28 16:26:10 +03:00
65 lines
1.7 KiB
Python
65 lines
1.7 KiB
Python
|
#!/usr/bin/env python
|
||
|
# Copyright 2018 The Chromium Authors. All rights reserved.
|
||
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
# found in the LICENSE file.
|
||
|
|
||
|
"""Update the Google Cloud Storage bucket hosting the Super Size UI."""
|
||
|
|
||
|
import argparse
|
||
|
import os
|
||
|
import subprocess
|
||
|
import uuid
|
||
|
|
||
|
|
||
|
GS_BUCKET = 'gs://chrome-supersize'
|
||
|
|
||
|
|
||
|
def _SyncStatic():
|
||
|
"""Upload static files from the static directory."""
|
||
|
static_files = os.path.join(os.path.dirname(__file__), 'static')
|
||
|
subprocess.check_call([
|
||
|
'gsutil.py', '-m', 'rsync', '-r', static_files, GS_BUCKET
|
||
|
])
|
||
|
|
||
|
|
||
|
def _SyncTemplates():
|
||
|
"""Generate and upload the templates/sw.js file."""
|
||
|
template_file = os.path.join(os.path.dirname(__file__), 'templates', 'sw.js')
|
||
|
cache_hash = uuid.uuid4().hex
|
||
|
|
||
|
p = subprocess.Popen([
|
||
|
'gsutil.py', 'cp', '-p', '-', '%s/sw.js' % GS_BUCKET
|
||
|
], stdin=subprocess.PIPE)
|
||
|
with open(template_file, 'r') as in_file:
|
||
|
p.communicate(in_file.read().replace('{{cache_hash}}', cache_hash))
|
||
|
|
||
|
|
||
|
def _SetMetaAndPermissions():
|
||
|
# sw.js has the wrong type due to being created from a stream
|
||
|
subprocess.check_call([
|
||
|
'gsutil.py', 'setmeta', '-h', 'Content-Type:application/javascript',
|
||
|
'%s/sw.js' % GS_BUCKET
|
||
|
])
|
||
|
|
||
|
# All files in the root of the bucket are user readable
|
||
|
subprocess.check_call([
|
||
|
'gsutil.py', '-m', 'acl', 'ch', '-u', 'AllUsers:R', '%s/*' % GS_BUCKET
|
||
|
])
|
||
|
|
||
|
|
||
|
def main():
|
||
|
parser = argparse.ArgumentParser(description=__doc__)
|
||
|
parser.add_argument('--sync', action='store_true', required=True,
|
||
|
help='Sync static and template files to GCS.')
|
||
|
|
||
|
args = parser.parse_args()
|
||
|
|
||
|
if args.sync:
|
||
|
_SyncStatic()
|
||
|
_SyncTemplates()
|
||
|
_SetMetaAndPermissions()
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
main()
|