示例#1
0
 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
示例#2
0
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
示例#3
0
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()
示例#4
0
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()
示例#5
0
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
示例#6
0
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()
示例#7
0
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)