Exemplo n.º 1
0
def test_deleting_dir(test_app, client: FlaskClient):
    create_dir("testing")
    assert "testing" in get_dirs()
    resp = client.post(
        "/folders/delete", data={"dir_name": "testing"}, follow_redirects=True
    )
    assert not "testing" in get_dirs()
    assert b"Folder successfully deleted." in resp.data
Exemplo n.º 2
0
def new_bookmark():
    form = forms.NewBookmarkForm()
    form.path.choices = [(pathname, pathname) for pathname in data.get_dirs()]
    if form.validate_on_submit():
        path = form.path.data if form.path.data != "not classified" else ""
        tags = form.tags.data.split(",") if form.tags.data != "" else []
        bookmark = DataObj(
            url=form.url.data,
            tags=tags,
            path=path,
            type="bookmark")
        bookmark.process_bookmark_url()
        bookmark_id = bookmark.insert()
        if bookmark_id:
            flash("Bookmark Saved!", "success")
            return redirect(f"/dataobj/{bookmark_id}")
    # for bookmarklet
    form.url.data = request.args.get("url", "")
    path = request.args.get("path", "not classified").strip('/')
    # handle empty argument
    form.path.data = path if path != "" else "not classified"
    return render_template(
        "dataobjs/new.html",
        title="New Bookmark",
        form=form)
Exemplo n.º 3
0
def new_bookmark():
    default_dir = app.config.get("DEFAULT_BOOKMARKS_DIR", "root directory")
    form = forms.NewBookmarkForm(path=default_dir)
    form.path.choices = [("", "root directory")] + [
        (pathname, pathname) for pathname in data.get_dirs()
    ]
    if form.validate_on_submit():
        path = form.path.data
        tags = form.tags.data.split(",") if form.tags.data != "" else []
        bookmark = DataObj(url=form.url.data,
                           tags=tags,
                           path=path,
                           type="bookmark")
        bookmark.process_bookmark_url()
        bookmark_id = bookmark.insert()
        if bookmark_id:
            flash("Bookmark Saved!", "success")
            return redirect(f"/dataobj/{bookmark_id}")
    # for bookmarklet
    form.url.data = request.args.get("url", "")
    path = request.args.get("path", default_dir).strip("/")
    # handle empty argument
    form.path.data = path
    return render_template("dataobjs/new.html",
                           title="New Bookmark",
                           form=form)
Exemplo n.º 4
0
def test_create_dir(test_app, client: FlaskClient):
    """Tests /folders/create endpoint"""

    resp = client.post("/folders/create",
                data={"parent_dir": "", "new_dir": "testing"},
                follow_redirects=True)

    assert resp.status_code == 200
    assert request.args.get("path") == "testing"
    assert "testing" in get_dirs()
    assert b"Folder successfully created" in resp.data
Exemplo n.º 5
0
def new_note():
    form = NewNoteForm()
    form.path.choices = [(pathname, pathname) for pathname in data.get_dirs()]
    if form.validate_on_submit():
        note = DataObj(title=form.title.data,
                       desc=form.desc.data,
                       tags=form.tags.data,
                       path=form.path.data,
                       type="note")
        note_id = note.insert()
        if note_id:
            flash("Note Saved!")
            return redirect(f"/dataobj/{note_id}")
    return render_template("/notes/new.html", title="New Note", form=form)
Exemplo n.º 6
0
def new_bookmark():
    form = NewBookmarkForm()
    form.path.choices = [(pathname, pathname) for pathname in data.get_dirs()]
    if form.validate_on_submit():
        bookmark = DataObj(url=form.url.data,
                           desc=form.desc.data,
                           tags=form.tags.data.split(","),
                           path=form.path.data,
                           type="bookmarks")
        bookmark_id = bookmark.insert()
        if bookmark_id:
            flash("Bookmark Saved!")
            return redirect(f"/dataobj/{bookmark_id}")
    return render_template("dataobjs/new.html",
                           title="New Bookmark",
                           form=form)
Exemplo n.º 7
0
def new_note():
    form = forms.NewNoteForm()
    form.path.choices = [(pathname, pathname) for pathname in data.get_dirs()]
    if form.validate_on_submit():
        path = form.path.data if form.path.data != "not classified" else ""
        tags = form.tags.data.split(",") if form.tags.data != "" else []
        note = DataObj(title=form.title.data,
                       desc=form.desc.data,
                       tags=tags,
                       path=path,
                       type="note")
        note_id = note.insert()
        if note_id:
            flash("Note Saved!")
            return redirect(f"/dataobj/{note_id}")
    return render_template("/dataobjs/new.html", title="New Note", form=form)
Exemplo n.º 8
0
def new_note():
    form = forms.NewNoteForm()
    form.path.choices = [(pathname, pathname) for pathname in data.get_dirs()]
    if form.validate_on_submit():
        path = form.path.data if form.path.data != "not classified" else ""
        tags = form.tags.data.split(",") if form.tags.data != "" else []
        note = DataObj(title=form.title.data,
                       tags=tags,
                       path=path,
                       type="note")
        note_id = note.insert()
        if note_id:
            flash("Note Saved!", "success")
            return redirect(f"/dataobj/{note_id}")
    path = request.args.get("path", "not classified").strip("/")
    # handle empty argument
    form.path.data = path if path != "" else "not classified"
    return render_template("/dataobjs/new.html", title="New Note", form=form)
Exemplo n.º 9
0
def new_bookmark():
    form = forms.NewBookmarkForm()
    form.path.choices = [(pathname, pathname) for pathname in data.get_dirs()]
    if form.validate_on_submit():
        path = form.path.data if form.path.data != "not classified" else ""
        tags = form.tags.data.split(",") if form.tags.data != "" else []
        bookmark = DataObj(url=form.url.data,
                           desc=form.desc.data,
                           tags=tags,
                           path=path,
                           type="bookmark")
        bookmark.process_bookmark_url()
        bookmark_id = bookmark.insert()
        if bookmark_id:
            flash("Bookmark Saved!")
            return redirect(f"/dataobj/{bookmark_id}")
    return render_template("dataobjs/new.html",
                           title="New Bookmark",
                           form=form)
Exemplo n.º 10
0
def show_dataobj(dataobj_id):
    dataobj = data.get_item(dataobj_id)

    if not dataobj:
        flash("Data could not be found!", "error")
        return redirect("/")

    if request.args.get("raw") == "1":
        return frontmatter.dumps(dataobj)

    backlinks = []
    if app.config["SEARCH_CONF"]["enabled"]:
        if app.config["SEARCH_CONF"]["engine"] == "ripgrep":
            query = f"/{dataobj_id}\)]]"  # escape query for rg
        else:
            query = f"/{dataobj_id})]]"
        incoming_links = search(query, strict=True)
        if incoming_links:
            for hit in incoming_links:
                if hit["id"] != dataobj_id:
                    backlinks.append({"title": hit["title"], "id": hit["id"]})

    # Form for moving data into another folder
    move_form = forms.MoveDataForm()
    move_form.path.choices = [("", "root directory")] + [
        (pathname, pathname) for pathname in data.get_dirs()
    ]

    post_title_form = forms.TitleForm()
    post_title_form.title.data = dataobj["title"]

    return render_template(
        "dataobjs/show.html",
        title=dataobj["title"],
        dataobj=dataobj,
        backlinks=backlinks,
        current_path=dataobj["dir"],
        form=forms.DeleteDataForm(),
        view_only=0,
        search_enabled=app.config["SEARCH_CONF"]["enabled"],
        post_title_form=post_title_form,
        move_form=move_form,
    )