class Animal(db.Model): __tablename__ = 'animals' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(75)) scientific_name = db.Column(db.String(75)) description = db.Column(db.String(800)) image_path = db.Column(db.String(100)) def __repr__(self): return '<Animal {}>'.format(self.body) def save_changes(self, file): if file: filename = secure_filename(file.filename) fileExtension = filename.rsplit('.', 1)[1] randomFilename = str(uuid.uuid1()) filename = randomFilename + '.' + fileExtension try: # TODO: Get a blob client and upload the blob blob_client = blob_service.get_blob_client( container=blob_container, blob=filename) blob_client.upload_blob(file) # check if an image path already exists: if self.image_path: # TODO: Get a blob client and delete the previous blob blob_client = blob_service.get_blob_client( container=blob_container, blob=self.image_path) blob_client.delete_blob() # pass except Exception as err: flash(err) # set image path to the new file name: self.image_path = filename # commit everything to db: db.session.commit()
class Animal(db.Model): __tablename__ = 'animals' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(75)) scientific_name = db.Column(db.String(75)) description = db.Column(db.String(800)) image_path = db.Column(db.String(100)) def __repr__(self): return '<Animal {}>'.format(self.body) def save_changes(self, file): if file: filename = secure_filename(file.filename) fileExtension = filename.rsplit('.', 1)[1] randomFilename = str(uuid.uuid1()) filename = randomFilename + '.' + fileExtension try: blob_client = blob_service.get_blob_client( container=blob_container, blob=filename) blob_client.upload_blob(file) if self.image_path: blob_client = blob_service.get_blob_client( container=blob_container, blob=self.image_path) blob_client.delete_blob() except Exception as err: flash(err) self.image_path = filename db.session.commit()
class Animal(db.Model): __tablename__ = 'animals' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(75)) scientific_name = db.Column(db.String(75)) description = db.Column(db.String(800)) image_path = db.Column(db.String(100)) def __repr__(self): return '<Animal {}>'.format(self.body) def save_changes(self, file): if file: filename = secure_filename(file.filename) fileExtension = filename.rsplit('.', 1)[1] randomFilename = str(uuid.uuid1()) filename = randomFilename + '.' + fileExtension try: # TODO: Get a blob client and upload the blob pass if self.image_path: # TODO: Get a blob client and delete the previous blob pass except Exception as err: flash(err) self.image_path = filename db.session.commit()
class Animal(db.Model): __tablename__ = 'animals' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(75)) scientific_name = db.Column(db.String(75)) description = db.Column(db.String(800)) image_path = db.Column(db.String(100)) def __repr__(self): return '<Animal {}>'.format(self.body) def save_changes(self, file): if file: filename = secure_filename(file.filename) fileExtension = filename.rsplit('.', 1)[1] randomFilename = str(uuid.uuid1()) filename = randomFilename + '.' + fileExtension try: # TODO: Get a blob client and upload the blob # blob_container = app.config['BLOB_CONTAINER'] # storage_url = f'https://{app.config["BLOB_ACCOUNT"]}.blob.core.windows.net' # blob_service = BlobServiceClient(account_url=storage_url # , credential = app.config['BLOB_STORAGE_KEY']) blob_client = blob_service.get_blob_client( container=blob_container, blob=filename) print("TRYING TO UPLOAD ------------------") print(f"Filename: {filename}") blob_client.upload_blob(file) print("SUCCESSFUL UPLOAD ------------------") if self.image_path: # TODO: Get a blob client and delete the previous blob print(f"self.image_path is truthy: {self.image_path}") blob_client = blob_service.get_blob_client( container=blob_container, blob=self.image_path) blob_client.delete_blob() except Exception as err: flash(err) self.image_path = filename db.session.commit()