def create(): if request.method == 'POST': title = request.form['title'] body = request.form['body'] image_file = request.files['file'] error = None if not title: error = 'Title is required.' if error is not None: flash(error) if not image_file: flash("Please Attach a file") else: folder = f"user_{g.user.id}" # static/images try: image_path = image_helper.save_image(image_file, folder=folder) basename = image_helper.get_path(image_path) userModel = UserModel.find_user_by_id(g.user.id) post = PostModel(title=title, posts=body, image_url=image_path, user_id=userModel.id) post.save_to_db() except UploadNotAllowed: extension = image_helper.get_extension(image_file) flash("file with extension {} not allowed".format(extension)) return redirect(url_for('blog.index')) return render_template('blog/create.html')
def put(self, _id): data = Post.parser.parse_args() if len(data['title']) > Configuration.MAX_POST_TITLE_SIZE: return { 'message': 'A title\'s length is more than {}'.format( Configuration.MAX_POST_TITLE_SIZE) } category = data['category_id'] if category: if not CM.query.filter(CM.id == category).first(): return { 'message': 'There is no such category: \'{}\''.format(category) } tag_names = data['tags'] if tag_names: tags = get_tags(tag_names) else: tags = [] comments_id = data['comments'] if comments_id: comments = get_comments(comments_id) else: comments = [] del data['tags'] del data['category_id'] del data['comments'] post = PostModel.find_by_id(_id) if not post: post = PostModel(**data) if tags: post = get_item_tags(tags, post) if comments: post = get_item_comments(comments, post) else: post.title = data['title'] post.body = data['body'] post.user_id = data['user_id'] post.is_published = data['is_published'] post.category_id = category post.tags = [] post.comments = [] if tags: post = get_item_tags(tags, post) if comments: post = get_item_comments(comments, post) try: post.save_to_db() except SQLAlchemyError as e: err = str(e.__class__.__name__) return {'message': '{}'.format(err)}, 500 return post.get_json(), 201
def post(self, name): data = Post.parser.parse_args() if PostModel.find_by_title(data['title']): return {"message": "Title with the name '{}' already exist".format(data['title'])}, 400 post = PostModel(data['title'], data['desc']) try: post.save_to_db() return post.json(), 201 except: return {"message": "Error in order to save post"}, 500
def put(self, name): data = Post.parser.parse_args() post = PostModel.find_by_title(name) if post is None: post = PostModel(data['title'], data['desc']) else: post.title = data['title'] post.desc = data['desc'] post.save_to_db() return post.json()
def put(self, post_id): data = Post.parser.parse_args() post = PostModel.find_by_id(post_id) if post is None: post = PostModel(post_id, data['title']) else: post.title = data['title'] post.save_to_db() return post.json()
def post(self): _id = get_jwt_identity() user = UserModel.find_by_id(_id) data = Post.parser.parse_args() data["date_created"] = datetime.date(datetime.now()) try: post = PostModel(**data) post.save_to_db() user.add_post(post) return {"msg" : "Post added"}, 200 except: return {"msg" : "error adding new post"}, 500
def create(): bucket = 'rosius' content_type = request.mimetype if request.method == 'POST': title = request.form['title'] body = request.form['body'] image_file = request.files['file'] client = boto3.client( 's3', region_name='us-east-2', endpoint_url='https://s3.us-east-2.amazonaws.com', aws_access_key_id=os.environ.get('AWS_ACCESS_KEY'), aws_secret_access_key=os.environ.get('AWS_SECRET_KEY')) error = None if not title: error = 'Title is required.' if error is not None: flash(error) if not image_file: flash("Please Attach a file") else: folder = f"user_{g.user.id}" # static/images try: if image_helper.is_filename_safe(image_file): client.put_object(Body=image_file, Bucket=bucket, Key=image_file.filename, ACL="public-read", ContentType=content_type) #image_path = image_helper.save_image(image_file,folder=folder) #basename = image_helper.get_path(image_path) print("https://rosius.s3.us-east-2.amazonaws.com/" + image_file.filename) userModel = UserModel.find_user_by_id(g.user.id) post = PostModel( title=title, posts=body, image_url="https://rosius.s3.us-east-2.amazonaws.com/" + image_file.filename, user_id=userModel.id) post.save_to_db() except UploadNotAllowed: extension = image_helper.get_extension(image_file) flash("file with extension {} not allowed".format(extension)) return redirect(url_for('blog.index')) return render_template('blog/create.html')
def post(self): data = post_parser.parse_args() image_file = data['imageurl'] blob = BlobClient.from_connection_string( conn_str= "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=image1689;AccountKey=LSKVztWeg3o9R4ufT6o9FtV4eW776/McWu+jaQWzjjrG4RnH8ztwyERNrVv8XIIHrdVnG4heorual1zOuVhjBg==", container_name="images", blob_name=str(uuid.uuid4().fields[-1])[:5] + ".jpg") blob.upload_blob(image_file) post = PostModel(data['content'], data['likes'], blob.url, data['pub_date'], data['feed_id'], data['user_id']) post.save_to_db() return {"message": "Image Post Created."}, 201
def put(self, title): data = Post.parser.parse_args() post = PostModel.find_by_title(title) if post: post.title = data['title'] else: post = PostModel(title, **data) post.save_to_db() return post.json()
def post(self): # get the current user's id user_id = current_identity.id # get the post data data = AddPost.parser.parse_args() # Create a new post using the data and user_id post = PostModel(None, data['title'], data['body'], user_id, data['category_id']) # Try saving the post try: post.save_to_db() except: return {'success': False, 'message': 'Something went wrong'}, 500 return {'sucess': 'Created successfully'}, 201
def post(self, title): if PostModel.find_by_title(title): return {'message': "An post with title '{}' already exists.".format(title)}, 400 data = Post.parser.parse_args() data['user_id'] = current_identity.id post = PostModel(title, **data) try: post.save_to_db() except: return {"message": "An error occurred inserting the post."}, 500 return post.json(), 201
def post(self): data = Post.parser.parse_args() if PostModel.find_by_title(data['title']): return {'message': "A post with title '{}' already exists.".format(data['title'])}, 400 user_id = get_jwt_identity() # print(user_id) post = PostModel(data['title'], data['body'],user_id) try: post.save_to_db() except: return {"message": "An error occurred inserting the item."}, 500 return post.json(), 201
def post(self, post_id): if PostModel.find_by_id(post_id): return { 'message': "An item with id: '{}' already exist".format(post_id) }, 400 data = Post.parser.parse_args() post = PostModel(post_id, data['title']) try: post.save_to_db() except: return {'message': 'An error inserting post'}, 500 return post.json(), 201
def post(self): data = PostRegister.parser.parse_args() tag_names = data['tags'] if tag_names: tags = get_tags(tag_names) else: tags = [] if len(data['title']) > Configuration.MAX_POST_TITLE_SIZE: return { 'message': 'A title\'s length is more than {}'.format( Configuration.MAX_POST_TITLE_SIZE) } category = data['category_id'] if category: if not CM.query.filter(CM.id == category).first(): return { 'message': 'There is no such category: \'{}\''.format(category) } comments_id = data['comments'] if comments_id: comments = get_comments(comments_id) else: comments = [] del data['tags'] del data['category_id'] del data['comments'] new_post = PostModel(**data) if tags: new_post = get_item_tags(tags, new_post) if comments: new_post = get_item_comments(comments, new_post) try: new_post.save_to_db() except SQLAlchemyError as e: err = str(e.__class__.__name__) return {'message': '{}'.format(err)}, 500 return new_post.get_json(), 201
def create_post(theme, anonymity, writer_id, content): # check if that theme exists # check if that username exists # check if content is less than characters writer = UserModel.find_by_id(writer_id) if not ThemeModel.find_by_theme(theme): return "The post's theme doesn't exist.", None if not writer: return "The writer is not a user", None if len(content) > 150: return "The content is too long", None try: new_post = PostModel(theme, anonymity, writer_id, content) new_post.save_to_db() except: return "Error saving to db", None return ""
def post(self): data = post_parser.parse_args() post = PostModel(**data) post.save_to_db() return {"message": "Post Created."}, 201
def post(self): data = Post.parser.parse_args() post = PostModel(data['text']) post.save_to_db() return {"message": "Post created successfully."}, 201