diff --git a/content/.obsidian/workspace.json b/content/.obsidian/workspace.json index c176166..cfd0e5f 100644 --- a/content/.obsidian/workspace.json +++ b/content/.obsidian/workspace.json @@ -1,72 +1,105 @@ { "main": { - "id": "19179b278823b064", + "id": "5c3e9508c9a74b0c", "type": "split", "children": [ { - "id": "8dd584e60438200b", + "id": "b0a29407702ad8d9", "type": "tabs", "children": [ { - "id": "baa45c5e57825965", + "id": "09f0d52982024b18", + "type": "leaf", + "state": { + "type": "split-diff-view", + "state": { + "aFile": "content/.obsidian/plugins/obsidian-icon-folder/data.json", + "bFile": "content/.obsidian/plugins/obsidian-icon-folder/data.json", + "aRef": "" + }, + "icon": "diff", + "title": "Diff: data.json" + } + }, + { + "id": "1719ec1bea5bf182", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "Anatomi & Histologi 2/Gamla tentor/2023-05-31/8.md", + "file": "Biokemi/Behöver göra.md", "mode": "source", - "source": true, + "source": false + }, + "icon": "lucide-file", + "title": "Behöver göra" + } + }, + { + "id": "ef5b64bffe19b453", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Biokemi/Gamla tentor/2024-01-27/29.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "29" + } + }, + { + "id": "0ee86d2943a05d44", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Biokemi/Metabolism/🩸 Heme/Slides.md", + "mode": "source", + "source": false, "backlinks": false }, "icon": "lucide-file", - "title": "8" + "title": "Slides" } - } - ] - }, - { - "id": "7e72057acf1e42f0", - "type": "tabs", - "children": [ + }, { - "id": "c1c7815735aa906e", + "id": "f5463f24c8d28b65", "type": "leaf", "state": { - "type": "pdf", + "type": "markdown", "state": { -<<<<<<< HEAD - "file": "Anatomi & Histologi 2/Gamla tentor/2023-05-31/!2023-05-31-0100-DKS.pdf" + "file": "Anatomi & Histologi 2/Schema.md", + "mode": "source", + "source": false, + "backlinks": false }, - "icon": "lucide-file-text", - "title": "!2023-05-31-0100-DKS" -======= - "file": "Anatomi & Histologi 2/Öga anatomi/Slides.pdf.pdf" - }, - "icon": "lucide-file-text", - "title": "Slides.pdf" ->>>>>>> 35528c6 (vault backup: 2025-12-20 23:33:28) + "icon": "lucide-file", + "title": "Schema" } } - ] + ], + "currentTab": 4 } ], "direction": "vertical" }, "left": { - "id": "70dc58e919eddd95", + "id": "2eb9d01da512f2e5", "type": "split", "children": [ { - "id": "47a30d427cdfb6db", + "id": "7f1ec433ebd415ff", "type": "tabs", "children": [ { - "id": "ef51d026ab2efaae", + "id": "14b12303d7c7ac64", "type": "leaf", "state": { "type": "file-explorer", "state": { - "sortOrder": "custom", + "sortOrder": "alphabetical", "autoReveal": false }, "icon": "lucide-folder-closed", @@ -74,71 +107,68 @@ } }, { - "id": "eafa93eb6a28e671", + "id": "500d71ff4998df8b", "type": "leaf", "state": { "type": "search", "state": { -<<<<<<< HEAD - "query": "spoiler-", -======= "query": "tag:#provfråga lager ", ->>>>>>> 35528c6 (vault backup: 2025-12-20 23:33:28) "matchingCase": false, "explainSearch": false, "collapseAll": false, - "extraContext": true, - "sortOrder": "byModifiedTime" + "extraContext": false, + "sortOrder": "alphabetical" }, "icon": "lucide-search", "title": "Search" } + }, + { + "id": "0f714096e178591e", + "type": "leaf", + "state": { + "type": "bookmarks", + "state": {}, + "icon": "lucide-ghost", + "title": "bookmarks" + } } - ], - "currentTab": 1 + ] } ], "direction": "horizontal", - "width": 200 + "width": 468.50312423706055 }, "right": { - "id": "0948c66181b40af9", + "id": "2d28508435d0e696", "type": "split", "children": [ { - "id": "8e42749b81d80f27", + "id": "65c571801186bf7b", "type": "tabs", "children": [ { - "id": "131da419ce467615", + "id": "8827fad1b6f2c177", "type": "leaf", "state": { "type": "outgoing-link", "state": { -<<<<<<< HEAD - "file": "Biokemi/Plasmidlabb/Provfrågor.md", -======= - "file": "Anatomi & Histologi 2/Öga anatomi/Slides.pdf.pdf", ->>>>>>> 35528c6 (vault backup: 2025-12-20 23:33:28) + "file": "Anatomi & Histologi 2/Schema.md", "linksCollapsed": false, "unlinkedCollapsed": true }, "icon": "links-going-out", -<<<<<<< HEAD - "title": "Outgoing links from Provfrågor" -======= - "title": "Outgoing links from Slides.pdf" ->>>>>>> 35528c6 (vault backup: 2025-12-20 23:33:28) + "title": "Outgoing links from Schema" } }, { - "id": "5c1804c056cc2e31", + "id": "74b9983ea2c313f7", "type": "leaf", "state": { "type": "tag", "state": { "sortOrder": "frequency", - "useHierarchy": false, + "useHierarchy": true, "showSearch": true, "searchQuery": "" }, @@ -147,22 +177,7 @@ } }, { - "id": "d4a03ebd29e7b96c", - "type": "leaf", - "state": { - "type": "outline", - "state": { - "file": "Biokemi/Cellulära processer/Translation/Stoff.md", - "followCursor": false, - "showSearch": false, - "searchQuery": "" - }, - "icon": "lucide-list", - "title": "Outline of Stoff" - } - }, - { - "id": "a23e068aac24f909", + "id": "758d6d430e3ef7a0", "type": "leaf", "state": { "type": "all-properties", @@ -176,7 +191,22 @@ } }, { - "id": "41f1a2a8dc1c3ad7", + "id": "1c46c6d504021aa4", + "type": "leaf", + "state": { + "type": "outline", + "state": { + "file": "Biokemi/Cellulära processer/Utforska proteiner/Slides.md", + "followCursor": false, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-list", + "title": "Outline of Slides" + } + }, + { + "id": "3d06ebe3b85788d4", "type": "leaf", "state": { "type": "git-view", @@ -184,146 +214,80 @@ "icon": "git-pull-request", "title": "Source Control" } - }, - { - "id": "42527268e0f60e4a", - "type": "leaf", - "state": { - "type": "file-properties", - "state": { - "file": "Anatomi & Histologi 2/Gamla tentor/Statistik.md" - }, - "icon": "lucide-info", - "title": "File properties for Statistik" - } - }, - { - "id": "03afb117002fcdff", - "type": "leaf", - "state": { - "type": "agent-client-chat-view", - "state": {}, - "icon": "bot-message-square", - "title": "Agent client" - } } ], "currentTab": 4 } ], "direction": "horizontal", -<<<<<<< HEAD - "width": 212.5, -======= - "width": 423.5, ->>>>>>> 35528c6 (vault backup: 2025-12-20 23:33:28) - "collapsed": true + "width": 423.5 }, "left-ribbon": { "hiddenItems": { - "obsidian42-brat:BRAT": false, + "agent-client:Open agent client": false, "switcher:Open quick switcher": false, + "graph:Open graph view": false, + "canvas:Create new canvas": false, + "templates:Insert template": false, "command-palette:Open command palette": false, + "bases:Create new base": false, "obsidian-git:Open Git source control": false, "omnisearch:Omnisearch": false, - "bases:Create new base": false, - "canvas:Create new canvas": false, - "graph:Open graph view": false, - "templates:Insert template": false, - "agent-client:Open agent client": false + "obsidian42-brat:BRAT": false } }, - "active": "baa45c5e57825965", + "active": "f5463f24c8d28b65", "lastOpenFiles": [ -<<<<<<< HEAD - "Anatomi & Histologi 2/Gamla tentor/2023-05-31/7.md", - "Anatomi & Histologi 2/Gamla tentor/2023-05-31/6.md", - "Anatomi & Histologi 2/Gamla tentor/2023-05-31/5.md", - "Anatomi & Histologi 2/Gamla tentor/2023-05-31/4.md", - "Anatomi & Histologi 2/Gamla tentor/2023-05-31/3.md", - "Anatomi & Histologi 2/Gamla tentor/2023-05-31/2.md", - "Anatomi & Histologi 2/Gamla tentor/2023-05-31/1.md", - "Anatomi & Histologi 2/Gamla tentor/2023-05-31/!2023-05-31-0100-DKS.pdf", + "test_folder", + "conflict-files-obsidian-git.md", "Anatomi & Histologi 2/Schema.md", - "Anatomi & Histologi 2/Statistik.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/1.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/29.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/30.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/28.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/27.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/26.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/!2023-01-11-0044-PRX.pdf", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/25.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/24.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/23.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/22.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/21.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/20.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/19.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/18.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/17.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/16.md", - "Anatomi & Histologi 2/Gamla tentor/2023-01-11/15.md", - "Anatomi & Histologi 2/Gamla tentor/2022-06-01/!2022-06-01-0101-MGY.pdf", - "Anatomi & Histologi 2/Gamla tentor/2022-01-15/!2022-01-15-0032-BWD.pdf", - "attachments/image-121.png", - "Anatomi & Histologi 2/Gamla tentor/2024-01-10/!2024-01-10-0009-RYY.pdf", "z-Tech/tag_exam_questions_v2.sh", "z-Tech/tag_exam_questions.sh", + "z-Tech/Quiz-app.md", + "z-Tech/Obsidian AI.md", + "attachments/image.png", + "attachments/image-99.png", + "attachments/image-98.png", + "attachments/image-97.png", + "attachments/image-96.png", + "attachments/image-95.png", + "attachments/image-94.png", + "attachments/image-93.png", + "attachments/image-92.png", + "attachments/image-91.png", + "Anatomi & Histologi 2/Statistik.md", "Anatomi & Histologi 2/Gamla tentor/2025-08-08/!2025-08-08-0030-SHJ.pdf", - "attachments/image-120.png", - "attachments/image-119.png", - "attachments/image-118.png", - "attachments/image-117.png", - "attachments/image-116.png", - "attachments/image-115.png", - "attachments/image-114.png", - "attachments/image-113.png", - "attachments/image-112.png", + "Anatomi & Histologi 2/Gamla tentor/2025-08-08/!2025-08-08-0030-SHJ.md", "Anatomi & Histologi 2/Gamla tentor/2025-06-03/!2025-06-03-0003-UJR.pdf", + "Anatomi & Histologi 2/Gamla tentor/2025-06-03/!2025-06-03-0003-UJR.md", + "Anatomi & Histologi 2/Gamla tentor/2025-02-08/!2025-02-08.md", + "Anatomi & Histologi 2/Gamla tentor/2025-02-08/!2025-02-08-0004-PNZ.pdf", "Anatomi & Histologi 2/Gamla tentor/2025-02-08/!2025-02-08-0003-ESW.pdf", -======= - "Anatomi & Histologi 2/Öga anatomi/Organa sensum.pdf", - "Anatomi & Histologi 2/Öga anatomi/Slides.pdf.pdf", - "Anatomi & Histologi 2/Gamla tentor/2025-08-08/25.md", - "Anatomi & Histologi 2/Gamla tentor/2025-01-15/29.md", - "Anatomi & Histologi 2/Gamla tentor/2025-02-08/32.md", - "Anatomi & Histologi 2/Öga anatomi/Oculus.md.md", - "Anatomi & Histologi 2/Gamla tentor/2025-01-15/4.md", - "Anatomi & Histologi 2/Öga anatomi/Målbeskrivning.md", - "Anatomi & Histologi 2/Gamla tentor/2022-01-15/23.md", - "Anatomi & Histologi 2/Gamla tentor/2024-01-10/24.md", - "Anatomi & Histologi 2/Gamla tentor/2025-02-08/29.md", - "Anatomi & Histologi 2/Gamla tentor/2025-02-08/30.md", - "Anatomi & Histologi 2/Öga anatomi/Instuderingsfrågor.md", - "Anatomi & Histologi 2/Gamla tentor/Statistik.md", - "Anatomi & Histologi 2/Gamla tentor/2025-08-08/2025-08-08-0030-SHJ.pdf", - "Anatomi & Histologi 2/Gamla tentor/2025-08-08/2025-08-08-0030-SHJ.md", - "Anatomi & Histologi 2/Gamla tentor/2025-02-08/2025-02-08-0003-ESW.pdf", - "Anatomi & Histologi 2/Gamla tentor/2025-02-08/2025-02-08.md", - "Anatomi & Histologi 2/Gamla tentor/2025-06-03/2025-06-03-0003-UJR.pdf", - "Anatomi & Histologi 2/Gamla tentor/2025-08-08/1.md", - "Biokemi/Gamla tentor/2021-12-16/2021-12-16-0073-AXA.pdf", - "Anatomi & Histologi 2/Öra histologi/~$Ögat histologi handout.pptx", - "Anatomi & Histologi 2/Öga histologi/~$Ögat histologi handout.pptx", - "Anatomi & Histologi 2/Gamla tentor/Anatomi och Histologi 2 av Nils.apkg", - "Anatomi & Histologi 2/Gamla tentor/2022-01-06-adrihajdu-Anatomi och histologi 2 quiz.docx", - "z-Tech/Undvika mekanisk memorering – AI-stödd studieteknik.md", - "Biokemi/Metabolism/🩸 Heme/Studera.md", - "Anatomi & Histologi 2/Öra histologi/Målbeskrivning.md", - "Anatomi & Histologi 2/Öra histologi/Instuderingsfrågor.md", - "Anatomi & Histologi 2/Öra histologi/25 Ear.md", - "Anatomi & Histologi 2/Öra anatomi/Målbeskrivning.md", - "Anatomi & Histologi 2/Öra anatomi/Slides.md", - "Anatomi & Histologi 2/Öra anatomi/Instuderingsfrågor.md", - "Anatomi & Histologi 2/Öra anatomi/Auris.md.md", - "Anatomi & Histologi 2/Öga histologi/Slides.md", - "attachments/Pasted image 20251128080404.png", ->>>>>>> 35528c6 (vault backup: 2025-12-20 23:33:28) + "Anatomi & Histologi 2/Gamla tentor/2025-02-08/!2025-02-08-0003-ESW.md", + "Anatomi & Histologi 2/Gamla tentor/2025-01-15/!2025-01-15-0024-HFS.pdf", + "Anatomi & Histologi 2/Gamla tentor/2025-01-15/!2025-01-15-0021-HRY.pdf", + "Anatomi & Histologi 2/Gamla tentor/2025-01-15/!2025-01-15-0021-HRY.md", + "Anatomi & Histologi 2/Gamla tentor/2024-05-29/!2024-05-29-0125-GZX.pdf", + "Anatomi & Histologi 2/Gamla tentor/2024-05-29/!2024-05-29-0125-GZX.md", + "Anatomi & Histologi 2/Gamla tentor/2024-01-10/!2024-01-10-0088-KOM.pdf", + "Anatomi & Histologi 2/Gamla tentor/2024-01-10/!2024-01-10-0088-KOM.md", + "Anatomi & Histologi 2/Gamla tentor/2023-05-31/!2023-05-31-0100-DKS.md", + "Anatomi & Histologi 2/Gamla tentor/2023-01-11/!2023-01-11-0044-PRX.md", + "Anatomi & Histologi 2/Gamla tentor/2022-06-01/!2022-06-01-0101-MGY.md", + "Anatomi & Histologi 2/Gamla tentor/2022-01-15/!2022-01-15-0032-BWD.md", + "Anatomi & Histologi 2/4 Öra histologi/Målbeskrivning.md", + "Anatomi & Histologi 2/4 Öra histologi/Instuderingsfrågor.md", + "Anatomi & Histologi 2/4 Öra histologi/25 Ear.md", + "Anatomi & Histologi 2/3 Öga histologi/Slides.md", + "Anatomi & Histologi 2/3 Öga histologi/Målbeskrivning.md", + "Anatomi & Histologi 2/3 Öga histologi/Instuderingsfrågor.md", + "Anatomi & Histologi 2/3 Öga histologi/24 Eye.md", + "Anatomi & Histologi 2/2 Öra anatomi/Slides.md", + "Anatomi & Histologi 2/2 Öra anatomi/Målbeskrivning.md", "Untitled.canvas", "Biokemi/Metabolism/👋 Introduktion till metabolismen/Untitled.canvas", "Biokemi/Metabolism/📋 Metabolismen översikt.canvas", - "🧪 Biokemi/🏋️‍♀️ Metabolism/📋 Metabolismen översikt.canvas", - "🧪 Biokemi/🏋️‍♀️ Metabolism/👋 Introduktion till metabolismen/Untitled.canvas" + "Biokemi/Metabolism/Metabolismen översikt.canvas", + "Biokemi/Metabolism/Introduktion till metabolismen/Untitled.canvas" ] } \ No newline at end of file diff --git a/quiz/db.sqlite3 b/quiz/db.sqlite3 index b13fe1b..11dd659 100644 Binary files a/quiz/db.sqlite3 and b/quiz/db.sqlite3 differ diff --git a/quiz/db.sqlite3-shm b/quiz/db.sqlite3-shm new file mode 100644 index 0000000..e75ee8c Binary files /dev/null and b/quiz/db.sqlite3-shm differ diff --git a/quiz/db.sqlite3-wal b/quiz/db.sqlite3-wal new file mode 100644 index 0000000..4ca6d5b Binary files /dev/null and b/quiz/db.sqlite3-wal differ diff --git a/quiz/quiz/__pycache__/views.cpython-313.pyc b/quiz/quiz/__pycache__/views.cpython-313.pyc index 32cf67c..427bae0 100644 Binary files a/quiz/quiz/__pycache__/views.cpython-313.pyc and b/quiz/quiz/__pycache__/views.cpython-313.pyc differ diff --git a/quiz/quiz/management/commands/__pycache__/__init__.cpython-313.pyc b/quiz/quiz/management/commands/__pycache__/__init__.cpython-313.pyc new file mode 100644 index 0000000..125c04e Binary files /dev/null and b/quiz/quiz/management/commands/__pycache__/__init__.cpython-313.pyc differ diff --git a/quiz/quiz/management/commands/__pycache__/import_questions.cpython-313.pyc b/quiz/quiz/management/commands/__pycache__/import_questions.cpython-313.pyc new file mode 100644 index 0000000..0eeaa8f Binary files /dev/null and b/quiz/quiz/management/commands/__pycache__/import_questions.cpython-313.pyc differ diff --git a/quiz/quiz/utils/__pycache__/__init__.cpython-313.pyc b/quiz/quiz/utils/__pycache__/__init__.cpython-313.pyc new file mode 100644 index 0000000..5b71f93 Binary files /dev/null and b/quiz/quiz/utils/__pycache__/__init__.cpython-313.pyc differ diff --git a/quiz/quiz/utils/__pycache__/importer.cpython-313.pyc b/quiz/quiz/utils/__pycache__/importer.cpython-313.pyc new file mode 100644 index 0000000..c615d8b Binary files /dev/null and b/quiz/quiz/utils/__pycache__/importer.cpython-313.pyc differ diff --git a/quiz/quiz/utils/__pycache__/watcher.cpython-313.pyc b/quiz/quiz/utils/__pycache__/watcher.cpython-313.pyc new file mode 100644 index 0000000..8340315 Binary files /dev/null and b/quiz/quiz/utils/__pycache__/watcher.cpython-313.pyc differ diff --git a/quiz/quiz/utils/importer.py b/quiz/quiz/utils/importer.py index 97a110a..802b863 100644 --- a/quiz/quiz/utils/importer.py +++ b/quiz/quiz/utils/importer.py @@ -150,7 +150,7 @@ def parse_markdown_question(file_path: Path, content: str) -> Tuple[bool, dict]: 'question_type': question_type, 'tags': tags if 'tags' in locals() else [] } - } + # Extract options (pattern: "- A:" or "- A" for MCQ, or text for textalternativ) options_data = [] @@ -258,7 +258,7 @@ def parse_markdown_question(file_path: Path, content: str) -> Tuple[bool, dict]: 'question_type': question_type, 'tags': tags if 'tags' in locals() else [] } - } + def import_question_file(file_path: Path, base_path: Path, stats: ImportStats, force: bool = False):