Skip to content

Commit c250e84

Browse files
committed
fetch questions
1 parent bfac48f commit c250e84

2 files changed

Lines changed: 27 additions & 0 deletions

File tree

website/management/commands/__init__.py

Whitespace-only changes.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
from django.core.management.base import BaseCommand
2+
from django.db import transaction as tx
3+
import csv
4+
from website.models import Question, Answer
5+
from django.conf import settings
6+
from django.utils.html import strip_tags
7+
import uuid
8+
9+
class Command(BaseCommand):
10+
11+
@tx.atomic
12+
def handle(self, *args, **options):
13+
print("Generating Question Metadata. Please wait...")
14+
meta_file_name = 'metadata_'+uuid.uuid4().hex+".csv"
15+
with open(settings.MEDIA_ROOT + meta_file_name, "w+", newline='') as metafile:
16+
metawriter = csv.writer(metafile, dialect='excel', delimiter='|')
17+
metawriter.writerow(["FOSS","Tutorial","Video Minute Range","Video Second Range","Question Title","Question Body","Question_Date","Question Posted By","Answer No.","Answer Body","Answer Date", "Answer Posted By"])
18+
questions = Question.objects.filter(category="Advance-C", status=1)
19+
for q in questions:
20+
metawriter.writerow([q.category,q.tutorial,q.minute_range,q.second_range,q.title,strip_tags(q.body).strip(" "),q.date_created,q.user()])
21+
answers = Answer.objects.filter(question=q)
22+
for i, a in enumerate(answers):
23+
metawriter.writerow(["","","","","","","","",i+1, strip_tags(a.body).strip(" "),a.date_created, a.user()])
24+
metawriter.writerow([])
25+
print("Metadata File Generated. Please find the file at location given below.")
26+
print(metafile.name)
27+

0 commit comments

Comments
 (0)