Add form for parsing training
This commit is contained in:
parent
d2cfa5ae17
commit
b416b23b99
2 changed files with 44 additions and 2 deletions
|
|
@ -1,8 +1,9 @@
|
|||
from fastapi import APIRouter, Request
|
||||
import logging
|
||||
from fastapi import APIRouter, Request, Form
|
||||
from fastapi.responses import HTMLResponse
|
||||
from fastapi.templating import Jinja2Templates
|
||||
|
||||
from app.core.parsers.obsidian import parse_training_data
|
||||
from app.core.parsers.obsidian import ObsidianNotesParser, parse_training_data
|
||||
from app.core.templates.templates import BaseTemplateResponse
|
||||
|
||||
web_router = APIRouter()
|
||||
|
|
@ -26,3 +27,21 @@ async def obsidian_list(request: Request):
|
|||
return template_renderer.render(
|
||||
request=request, template_name="trainings.html", context={"trainings": data}
|
||||
)
|
||||
|
||||
|
||||
@web_router.get("/obsidian/parse", response_class=HTMLResponse)
|
||||
async def obsidian_parse_form(request: Request):
|
||||
return template_renderer.render(
|
||||
request=request, template_name="obsidian/parser.html", context={"trainings": {}}
|
||||
)
|
||||
|
||||
|
||||
@web_router.post("/obsidian/parse", response_class=HTMLResponse)
|
||||
async def obsidian_parse(request: Request, training_data: str = Form(...)):
|
||||
logging.error(training_data)
|
||||
op = ObsidianNotesParser()
|
||||
result = op.parse(data=training_data)
|
||||
logging.error(result)
|
||||
return template_renderer.render(
|
||||
request=request, template_name="trainings.html", context={"trainings": result}
|
||||
)
|
||||
|
|
|
|||
23
app/templates/obsidian/parser.html
Normal file
23
app/templates/obsidian/parser.html
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<h1>Parse training data</h1>
|
||||
<form method="post" action="/app/obsidian/parse">
|
||||
<div class="form-group">
|
||||
<label for="training_data">Place your training here</label>
|
||||
<textarea
|
||||
class="form-control"
|
||||
id="training_data"
|
||||
name="training_data"
|
||||
rows="10"
|
||||
required
|
||||
></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">Parse Training</button>
|
||||
</form>
|
||||
{% if result %}
|
||||
<div class="mt-3">
|
||||
<h3>Result:</h3>
|
||||
<pre>{{ result }}</pre>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
Loading…
Reference in a new issue