def duplicate_file(original_file, new_model_name, new_model_id): try: duplicated_file = File( user_id=current_user.id, name='', alias=original_file.alias ) db.session.add(duplicated_file) db.session.commit() # use uuid generated by file model for name duplicate_name = duplicated_file.uuid + '.' + original_file.extension # create new file with name shutil.copy( os.path.join(current_app.config['ATTACHMENT_UPLOAD_FOLDER'], original_file.name), os.path.join(current_app.config['ATTACHMENT_UPLOAD_FOLDER'], duplicate_name) ) current_app.logger.debug( "copied file id:" + str(original_file.id) + " from " + os.path.join(current_app.config['ATTACHMENT_UPLOAD_FOLDER'], original_file.name) + " to " + os.path.join(current_app.config['ATTACHMENT_UPLOAD_FOLDER'], duplicate_name)) # update file record with name duplicated_file.name = duplicate_name db.session.commit() except Exception as e: db.session.rollback() raise e return duplicated_file
def post(self, upload_token_id): if not KalturaAPI.enabled(): abort(400, title="File Not Uploaded", message="Please use a valid upload method to attach files. You are not able to upload with this method based on the current settings.") kaltura_media = KalturaAPI.complete_upload_for_token(upload_token_id) on_save_kaltura_file.send( self, event_name=on_save_kaltura_file.name, user=current_user, data={'upload_token_id': upload_token_id}) try: db_file = File( user_id=current_user.id, name='', alias=kaltura_media.file_name, kaltura_media=kaltura_media ) db.session.add(db_file) db.session.commit() # use uuid generated by file model for name name = db_file.uuid + '.' + kaltura_media.extension # update file record with name db_file.name = name db.session.commit() except Exception as e: db.session.rollback() raise e return {'file': marshal(db_file, dataformat.get_file())}
def post(self): uploaded_file = request.files.get('file') if not uploaded_file: abort( 400, title="File Not Uploaded", message= "Sorry, no file was found to upload. Please try uploading again." ) elif not allowed_file( uploaded_file.filename, current_app.config['ATTACHMENT_ALLOWED_EXTENSIONS']): extensions = [ extension.upper() for extension in list( current_app.config['ATTACHMENT_ALLOWED_EXTENSIONS']) ] extensions.sort() extensions = ", ".join(extensions) abort( 400, title="File Not Uploaded", message= "Please try again with an approved file type, which includes: " + extensions + ".") on_save_file.send(self, event_name=on_save_file.name, user=current_user, data={'file': uploaded_file.filename}) try: db_file = File(user_id=current_user.id, name='', alias=uploaded_file.filename) db.session.add(db_file) db.session.commit() # use uuid generated by file model for name name = db_file.uuid + '.' + uploaded_file.filename.lower().rsplit( '.', 1)[1] # create new file with name full_path = os.path.join( current_app.config['ATTACHMENT_UPLOAD_FOLDER'], name) uploaded_file.save(full_path) current_app.logger.debug("Saved attachment {}/{}".format( current_app.config['ATTACHMENT_UPLOAD_FOLDER'], name)) # update file record with name db_file.name = name db.session.commit() except Exception as e: db.session.rollback() raise e return {'file': marshal(db_file, dataformat.get_file())}
def post(self): uploaded_file = request.files.get('file') if not uploaded_file: abort(400, title="File Not Uploaded", message="Sorry, no file was found to upload. Please try uploading again.") elif not allowed_file(uploaded_file.filename, current_app.config['ATTACHMENT_ALLOWED_EXTENSIONS']): extensions = [extension.upper() for extension in list(current_app.config['ATTACHMENT_ALLOWED_EXTENSIONS'])] extensions.sort() extensions = ", ".join(extensions) abort(400, title="File Not Uploaded", message="Please try again with an approved file type, which includes: "+extensions+".") on_save_file.send( self, event_name=on_save_file.name, user=current_user, data={'file': uploaded_file.filename}) try: db_file = File( user_id=current_user.id, name='', alias=uploaded_file.filename ) db.session.add(db_file) db.session.commit() # use uuid generated by file model for name name = db_file.uuid + '.' + uploaded_file.filename.lower().rsplit('.', 1)[1] # create new file with name full_path = os.path.join(current_app.config['ATTACHMENT_UPLOAD_FOLDER'], name) uploaded_file.save(full_path) current_app.logger.debug("Saved attachment {}/{}".format(current_app.config['ATTACHMENT_UPLOAD_FOLDER'], name)) # update file record with name db_file.name = name db.session.commit() except Exception as e: db.session.rollback() raise e return {'file': marshal(db_file, dataformat.get_file())}
def post(self): uploaded_file = request.files['file'] on_save_file.send( self, event_name=on_save_file.name, user=current_user, data={'file': uploaded_file.filename}) if uploaded_file and allowed_file(uploaded_file.filename, current_app.config['ATTACHMENT_ALLOWED_EXTENSIONS']): try: db_file = File( user_id=current_user.id, name='', alias=uploaded_file.filename ) db.session.add(db_file) db.session.commit() # use uuid generated by file model for name name = db_file.uuid + '.' + uploaded_file.filename.rsplit('.', 1)[1] # create new file with name full_path = os.path.join(current_app.config['ATTACHMENT_UPLOAD_FOLDER'], name) uploaded_file.save(full_path) current_app.logger.debug("Saved attachment {}/{}".format(current_app.config['ATTACHMENT_UPLOAD_FOLDER'], name)) # update file record with name db_file.name = name db.session.commit() except Exception as e: db.session.rollback() raise e return {'file': marshal(db_file, dataformat.get_file())} return False