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.
46 lines
1.4 KiB
46 lines
1.4 KiB
4 months ago
|
#!/usr/bin/env python
|
||
|
# Copyright (c) 2016 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.
|
||
|
|
||
|
"""Downloads SVGs into a specified directory."""
|
||
|
|
||
|
|
||
|
import optparse
|
||
|
import os
|
||
|
import sys
|
||
|
import urllib
|
||
|
|
||
|
|
||
|
PARENT_DIR = os.path.dirname(os.path.realpath(__file__))
|
||
|
|
||
|
|
||
|
def downloadSVGs(svgs_file, output_dir, prefix):
|
||
|
with open(svgs_file, 'r') as f:
|
||
|
for url in f.xreadlines():
|
||
|
svg_url = url.strip()
|
||
|
dest_file = os.path.join(output_dir, prefix + os.path.basename(svg_url))
|
||
|
print 'Downloading %s' % svg_url
|
||
|
urllib.urlretrieve(svg_url, dest_file)
|
||
|
|
||
|
|
||
|
if '__main__' == __name__:
|
||
|
option_parser = optparse.OptionParser()
|
||
|
option_parser.add_option(
|
||
|
'-s', '--svgs_file',
|
||
|
help='Path to the text file containing SVGs. Each line should contain a '
|
||
|
'single URL.',
|
||
|
default=os.path.join(PARENT_DIR, 'svgs.txt'))
|
||
|
option_parser.add_option(
|
||
|
'-o', '--output_dir',
|
||
|
help='The output dir where downloaded SVGs will be stored in.')
|
||
|
option_parser.add_option(
|
||
|
'-p', '--prefix',
|
||
|
help='The prefix which downloaded SVG file will begin with.',
|
||
|
default='')
|
||
|
options, unused_args = option_parser.parse_args()
|
||
|
|
||
|
if not options.output_dir:
|
||
|
raise Exception('Must specify --output_dir')
|
||
|
sys.exit(downloadSVGs(options.svgs_file, options.output_dir, options.prefix))
|