-
Notifications
You must be signed in to change notification settings - Fork 0
/
pa-math-tags.py
52 lines (42 loc) · 1.59 KB
/
pa-math-tags.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
from oc_platform import settings
from django.core.management import setup_environ
setup_environ(settings)
import re
import csv
from meta.models import Tag, TagCategory
standards_category = TagCategory.objects.get(title='Standards')
assessment_anchor_category = TagCategory.objects.get(title='Assessment Anchor')
anchor_descriptor_category = TagCategory.objects.get(title='Anchor Descriptor')
eligible_content_category = TagCategory.objects.get(title='Eligible Content')
tags_raw = open('pa-math.csv', 'r')
tag_rows = csv.reader(tags_raw, delimiter=',')
for row in tag_rows:
tag_raw = row
if 'CC' in tag_raw[0]:
category = standards_category
standard = re.sub('\.\.', '.', '.'.join(tag_raw[:5])).upper()
elif 'M0' in tag_raw[0]:
if tag_raw[4] == '':
category = assessment_anchor_category
standard = '.'.join(tag_raw[:4]).upper()
else:
sub_standard = '-'.join(['.'.join(tag_raw[:2]), tag_raw[2]])
if tag_raw[5] == '':
category = anchor_descriptor_category
standard = (sub_standard + '.' + '.'.join(tag_raw[3:5])).upper()
else:
category = eligible_content_category
standard = (sub_standard + '.' + '.'.join(tag_raw[3:6])).upper()
description = tag_raw[6].strip()
try:
tag = None
tag = Tag.objects.get(title=standard)
tag.category = category
tag.save()
except:
tag = Tag(
title=standard,
description=description,
category = category
)
tag.save()