summaryrefslogtreecommitdiffstats
path: root/chromium/docs/website/scripts/upload_lobs.py
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/docs/website/scripts/upload_lobs.py')
-rwxr-xr-xchromium/docs/website/scripts/upload_lobs.py172
1 files changed, 0 insertions, 172 deletions
diff --git a/chromium/docs/website/scripts/upload_lobs.py b/chromium/docs/website/scripts/upload_lobs.py
deleted file mode 100755
index 2a2369c9b43..00000000000
--- a/chromium/docs/website/scripts/upload_lobs.py
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/usr/bin/env python3
-# Copyright 2021 Google LLC
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import sys
-import optparse
-import os
-
-for path in os.environ['PATH'].split(os.path.pathsep):
- if path.endswith('depot_tools') and path not in sys.path:
- sys.path.insert(0, path)
-
-import upload_to_google_storage
-
-import common
-
-# This list must be kept in sync with the lists in //.eleventy.js and
-# //PRESUBMIT.py.
-# TODO(dpranke): Figure out how to share these lists to eliminate the
-# duplication and need to keep them in sync.
-
-LOB_EXTENSIONS = [
- '.ai',
- '.bin',
- '.bmp',
- '.brd',
- '.bz2',
- '.config',
- '.crx',
- '.dia',
- '.gif',
- '.graffle',
- '.ico',
- '.jpg',
- 'jpg', # Some files are missing the '.' :(.
- '.jpeg',
- '.mp4',
- '.msi',
- '.pdf',
- 'pdf', # Some files are missing the '.' :(.
- '.png',
- 'png', # Some files are missing the '.' :(.
- '.PNG',
- '.swf',
- '.svg',
- '.tar.gz',
- '.tiff',
- '_trace',
- '.webp',
- '.xcf',
- '.xlsx',
- '.zip'
- ]
-
-def main():
- parser = optparse.OptionParser(upload_to_google_storage.USAGE_STRING)
- parser.add_option('-b', '--bucket',
- default='chromium-website-lob-storage',
- help='Google Storage bucket to upload to.')
- parser.add_option('-e', '--boto', help='Specify a custom boto file.')
- parser.add_option('-f', '--force', action='store_true',
- help='Force upload even if remote file exists.')
- parser.add_option('-g', '--gsutil_path',
- default=upload_to_google_storage.GSUTIL_DEFAULT_PATH,
- help='Path to the gsutil script.')
- parser.add_option('-m', '--use_md5', action='store_true',
- help='Generate MD5 files when scanning, and don\'t check '
- 'the MD5 checksum if a .md5 file is found.')
- parser.add_option('-t', '--num_threads', default=1, type='int',
- help='Number of uploader threads to run.')
- parser.add_option('-s', '--skip_hashing', action='store_true',
- help='Skip hashing if .sha1 file exists.')
- parser.add_option('-0', '--use_null_terminator', action='store_true',
- help='Use \\0 instead of \\n when parsing '
- 'the file list from stdin. This is useful if the input '
- 'is coming from "find ... -print0".')
- parser.add_option('-z', '--gzip', metavar='ext',
- help='Gzip files which end in ext. '
- 'ext is a comma-separated list')
- parser.add_option('-d', '--directory',
- help='The target is a directory. ')
- parser.add_option('-r', '--remove', action='store_true',
- help='Removes the file that was uploaded to storage. ')
- (options, args) = parser.parse_args()
-
- if options.directory:
- input_filenames = get_lobs_from_dir(options.directory)
- if len(input_filenames) == 0:
- print("No LOB files found in directory to upload")
- return 0
- else:
- # Enumerate our inputs.
- input_filenames = upload_to_google_storage.get_targets(args, parser,
- options.use_null_terminator)
-
- # Make sure we can find a working instance of gsutil.
- if os.path.exists(upload_to_google_storage.GSUTIL_DEFAULT_PATH):
- gsutil = upload_to_google_storage.Gsutil(
- upload_to_google_storage.GSUTIL_DEFAULT_PATH, boto_path=options.boto)
- else:
- parser.error('gsutil not found in %s, bad depot_tools checkout?' %
- upload_to_google_storage.GSUTIL_DEFAULT_PATH)
-
- base_url = 'gs://%s' % options.bucket
-
- add_to_ignore(input_filenames)
-
- upload_status = upload_to_google_storage.upload_to_google_storage(
- input_filenames, base_url, gsutil, options.force, options.use_md5,
- options.num_threads, options.skip_hashing, options.gzip)
-
- if upload_status:
- return upload_status
-
- if options.remove:
- remove_lobs(input_filenames)
-
- return 0
-
-def remove_lobs(lob_files):
- for lob_file in lob_files:
- if os.path.exists(lob_file):
- os.remove(lob_file)
-
-def add_to_ignore(lob_files):
- with open(common.SITE_DIR + "/.gitignore", 'r') as ignore_file:
- file_lines = list(line.rstrip() for line in ignore_file.readlines())
-
- end_tag_index = file_lines.index('#end_lob_ignore')
- lob_ignores = set(file_lines[
- file_lines.index('#start_lob_ignore') + 1 :
- end_tag_index])
-
- for lob_file in lob_files:
- rel_path = os.path.relpath(lob_file, common.SITE_DIR)
-
- if os.path.exists(lob_file) and not rel_path in lob_ignores:
- file_lines.insert(end_tag_index, rel_path)
- end_tag_index+=1
-
- with open(common.SITE_DIR + "/.gitignore", 'w') as ignore_file:
- ignore_file.writelines(line + '\n' for line in file_lines)
-
-def get_lobs_from_dir(directory):
- lobs = []
- for (dirpath, _, filenames) in os.walk(directory):
- for filename in filenames:
- absolute_filename = os.path.join(dirpath, filename)
- if os.path.isfile(absolute_filename):
- for ext in LOB_EXTENSIONS:
- if filename.endswith(ext):
- lobs.append(absolute_filename)
- break
- return lobs
-
-if __name__ == '__main__':
- try:
- sys.exit(main())
- except KeyboardInterrupt:
- sys.stderr.write('interrupted\n')
- sys.exit(1)