@@ -74,7 +74,9 @@ def upload_tile(bucket, key_template, headers, tile_stuff, progress=True, retrie
7474 help = "Number of simultaneous uploads" )
7575@click .option ('--extension' , default = ".pbf" ,
7676 help = "File extension for tiles" )
77- def upload (mbtiles , s3_url , threads , extension ):
77+ @click .option ('--header' , '-h' , multiple = True ,
78+ help = "Additional headers" )
79+ def upload (mbtiles , s3_url , threads , extension , header ):
7880 """Upload tiles from an MBTiles file to S3.
7981
8082 \b
@@ -87,28 +89,33 @@ def upload(mbtiles, s3_url, threads, extension):
8789 bucket = conn .get_bucket (base_url .netloc )
8890 key_prefix = base_url .path .lstrip ("/" )
8991
90- tiles = MBTilesGenerator (mbtiles )
91- global tile_count
92- tile_count = tiles .len ()
92+ headers = {}
93+ if header is not None :
94+ for h in header :
95+ k ,v = h .split (":" )
96+ headers [k ] = v
97+
9398 if extension == ".pbf" :
94- headers = {
99+ headers . update ( {
95100 "Content-Encoding" :"gzip" ,
96101 "Content-Type" : "application/vnd.mapbox-vector-tile"
97- }
102+ })
98103 elif extension == ".webp" :
99- headers = {
104+ headers . update ( {
100105 "Content-Type" :"image/webp"
101- }
106+ })
102107 elif extension == ".png" :
103- headers = {
108+ headers . update ( {
104109 "Content-Type" :"image/png"
105- }
110+ })
106111 elif extension == ".jpg" or extension == ".jpeg" :
107- headers = {
112+ headers . update ( {
108113 "Content-Type" :"image/jpeg"
109- }
110- else :
111- headers = {}
114+ })
115+
116+ tiles = MBTilesGenerator (mbtiles )
117+ global tile_count
118+ tile_count = tiles .len ()
112119
113120 key_template = key_prefix + "{z}/{x}/{y}" + extension
114121 print ("uploading tiles from %s to s3://%s/%s" % (mbtiles , bucket .name , key_template ))
0 commit comments