start oef
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
|
||||
from pathlib import Path
|
||||
from django.core.management.base import BaseCommand, CommandError
|
||||
import argparse
|
||||
|
||||
from oef.models import Entry
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = "Imports the RCR spreadsheet"
|
||||
|
||||
def add_arguments(self, parser):
|
||||
# parser.add_argument("poll_ids", nargs="+", type=int)
|
||||
parser.add_argument('--file', type=argparse.FileType('r'))
|
||||
|
||||
|
||||
|
||||
def handle(self, *args, **options):
|
||||
#with open(options["file"]) as f:
|
||||
soup = BeautifulSoup(options["file"], "html.parser")
|
||||
|
||||
Entry.objects.all().delete()
|
||||
rows = 0
|
||||
for row in soup.find_all("tr"):
|
||||
if rows > 0:
|
||||
entry.questions = entry.questions + "\n" + row.find_all("td")[0].text
|
||||
rows = rows - 1
|
||||
if rows == 0:
|
||||
entry.save()
|
||||
continue
|
||||
|
||||
cells = row.find_all("td")
|
||||
|
||||
if cells[0].text == "Modality":
|
||||
continue
|
||||
|
||||
|
||||
entry = Entry()
|
||||
entry.modality = cells[0].text
|
||||
entry.exam_code = cells[1].text
|
||||
entry.exam_name = cells[2].text
|
||||
entry.questions = cells[3].text
|
||||
entry.oef_name = cells[4].text
|
||||
entry.comments = cells[5].text
|
||||
|
||||
if cells[0].has_attr("rowspan"):
|
||||
rows = int(cells[0]["rowspan"]) - 1
|
||||
else:
|
||||
entry.save()
|
||||
|
||||
#Entry.objects.all().delete()
|
||||
|
||||
#for row in soup.find_all("tr"):
|
||||
# cells = row.find_all("td")
|
||||
# if len(cells) == 6:
|
||||
# entry = Entry()
|
||||
# entry.modality = cells[0].text
|
||||
# entry.exam_code = cells[1].text
|
||||
# entry.exam_name = cells[2].text
|
||||
# entry.questions = cells[3].text
|
||||
# #entry.
|
||||
# entry.comments = cells[5].text
|
||||
# entry.save()
|
||||
# self.stdout.write(
|
||||
# self.style.SUCCESS(f"Entry added: {entry.pk}/{entry.exam_name}")
|
||||
# )
|
||||
# else:
|
||||
# self.stdout.write(
|
||||
# self.style.WARNING(f"Skipping row: {row}")
|
||||
# )
|
||||
Reference in New Issue
Block a user