def concrete(): name = input(input_question) if obj := db.query(row_class).filter_by(name=name).first(): print(f"{deleted_prefix} \"{obj.name}\".") db.delete(obj) save_tip() return
def delete_comment() -> None: comment_id = int(input("Comment ID: ")) if comment := db.query(Comment).get(comment_id): db.delete(comment) print(f"Deleted comment \"{comment.name}\".") save_tip() return
def delete_selected() -> None: if selected_object is None: print(ERROR_NO_OBJECT_SELECTED) return print(f"Deleted select object with name \"{selected_object.name}\"!") db.delete(selected_object) save_tip()
def delete_blog_post() -> None: blog_post = get_blog_post_by_id() if os.path.exists(blog_post.slug_path): shutil.rmtree(blog_post.slug_path) db.delete(blog_post) print(f"Deleted blog post \"{blog_post.name}\".") save_tip()
def delete_author() -> None: author_name = input("Author Name: ") if author := db.query(Author).filter_by(name=author_name).first(): for blog_post in author.blog_posts: print(f"Deleted blog post \"{blog_post.name}\".") shutil.rmtree(blog_post.slug_path) db.delete(blog_post) db.delete(author) print(f"Deleted author \"{author.name}\".") save_tip() return
def detach_tag() -> None: tag_name = input("Tag Name: ") if not (tag := db.query(Tag).filter_by(name=tag_name).first()): print("Tag not found!") return blog_post = get_blog_post_by_id() if (tag_association := db.query(TagAssociation).filter_by(blog_post_id=blog_post.id, tag_id=tag.id) .first()) is None: print("Tag is not attached to post!") return print(f"Detached tag \"{tag.name}\" from post \"{blog_post.name}\"!") db.delete(tag_association) save_tip() def exit_program() -> None: print("Exiting...\n") sys.exit(0) def save_changes() -> None: print("Saving changes... ", end="") try: db.commit() done()
def recreate_file_resources_for_post(blog_post: BlogPost): for file_resource in blog_post.file_resources: db.delete(file_resource) db.commit() process_resource_files(blog_post)