1313# limitations under the License.
1414
1515import io
16- import logging
1716
1817from flask import (Flask , abort , redirect , render_template ,
1918 request , send_file , url_for )
2019from werkzeug .utils import secure_filename
2120
2221import google .auth
23- from google .cloud import ndb , storage , exceptions
22+ from google .cloud import exceptions , ndb , storage
2423
2524app = Flask (__name__ )
2625ds_client = ndb .Client ()
2928BUCKET = '%s.appspot.com' % PROJECT_ID
3029
3130
32- def store_blob (fname , media ):
33- blob = gcs_client .bucket (BUCKET ).blob (fname )
34- blob .upload_from_file (media , content_type = media .content_type )
35-
3631
3732class Visit (ndb .Model ):
3833 'Visit entity registers visitor IP address & timestamp'
@@ -59,10 +54,11 @@ def fetch_visits(limit):
5954def upload ():
6055 'Upload blob (POST) handler'
6156 fname = None
62- uploaded_file = request .files .get ('file' , None )
63- if uploaded_file :
64- fname = secure_filename (uploaded_file .filename )
65- store_blob (fname , uploaded_file )
57+ upload = request .files .get ('file' , None )
58+ if upload :
59+ fname = secure_filename (upload .filename )
60+ blob = gcs_client .bucket (BUCKET ).blob (fname )
61+ blob .upload_from_file (upload , content_type = upload .content_type )
6662 store_visit (request .remote_addr , request .user_agent , fname )
6763 return redirect (url_for ('root' ), code = 307 )
6864
@@ -73,7 +69,7 @@ def view(fname):
7369 blob = gcs_client .bucket (BUCKET ).blob (fname )
7470 try :
7571 media = blob .download_as_bytes ()
76- except exceptions .NotFound as e :
72+ except exceptions .NotFound :
7773 abort (404 )
7874 return send_file (io .BytesIO (media ), mimetype = blob .content_type )
7975
0 commit comments