Skip to content

Commit

Permalink
Add command line option to add additional headers
Browse files Browse the repository at this point in the history
  • Loading branch information
Jesse Crocker committed Aug 14, 2018
1 parent 5cca7d9 commit 60554e8
Showing 1 changed file with 21 additions and 14 deletions.
35 changes: 21 additions & 14 deletions upload_mbtiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,9 @@ def upload_tile(bucket, key_template, headers, tile_stuff, progress=True, retrie
help="Number of simultaneous uploads")
@click.option('--extension', default=".pbf",
help="File extension for tiles")
def upload(mbtiles, s3_url, threads, extension):
@click.option('--header', '-h', multiple=True,
help="Additional headers")
def upload(mbtiles, s3_url, threads, extension, header):
"""Upload tiles from an MBTiles file to S3.
\b
Expand All @@ -87,28 +89,33 @@ def upload(mbtiles, s3_url, threads, extension):
bucket = conn.get_bucket(base_url.netloc)
key_prefix = base_url.path.lstrip("/")

tiles = MBTilesGenerator(mbtiles)
global tile_count
tile_count = tiles.len()
headers = {}
if header is not None:
for h in header:
k,v = h.split(":")
headers[k] = v

if extension == ".pbf":
headers = {
headers.update({
"Content-Encoding":"gzip",
"Content-Type": "application/vnd.mapbox-vector-tile"
}
})
elif extension == ".webp":
headers = {
headers.update({
"Content-Type":"image/webp"
}
})
elif extension == ".png":
headers = {
headers.update({
"Content-Type":"image/png"
}
})
elif extension == ".jpg" or extension == ".jpeg":
headers = {
headers.update({
"Content-Type":"image/jpeg"
}
else:
headers = {}
})

tiles = MBTilesGenerator(mbtiles)
global tile_count
tile_count = tiles.len()

key_template = key_prefix + "{z}/{x}/{y}" + extension
print("uploading tiles from %s to s3://%s/%s" % (mbtiles, bucket.name, key_template))
Expand Down

0 comments on commit 60554e8

Please sign in to comment.