def import_category_problem(origin_oj, date=None): import csv from stepbystep.models import ProblemModel, CategoryModel suffix = '_'.join([origin_oj, date]) if date else origin_oj with open('stepbystep_%s.csv' % suffix, 'r') as problems: c0 = c1 = c2 = p = None c0_count = c1_count = c2_count = p_count = 0 for c0, c1, c2, p in csv.reader(problems.read().splitlines()): if c0: c0 = CategoryModel( name=c0, origin_oj=origin_oj, ordinal=c0_count) c0.save() c0_count += 1 c1_count = 0 c0_temp = c0 else: c0 = c0_temp if c1: c1 = CategoryModel( name=c1, ordinal=c1_count) c1.parent = c0 c1.save() c1_count += 1 c2_count = 0 c1_temp = c1 else: c1 = c1_temp if c2: c2 = CategoryModel( name=c2, ordinal=c2_count) c2.parent = c1 c2.save() c2_count += 1 p_count = 0 c2_temp = c2 else: c2 = c2_temp if p: p = ProblemModel( origin_oj=origin_oj, problem_id=p, ordinal=p_count) p.category = c2 p.genera = c0 p.save() p_count += 1
def import_category_problem(origin_oj): import csv from stepbystep.models import ProblemModel, CategoryModel with open('stepbystep_%s.csv' % origin_oj, 'r') as problems: c0 = c1 = c2 = p = None c0_count = c1_count = c2_count = p_count = 0 for c0, c1, c2, p in csv.reader(problems.read().splitlines()): if c0: c0 = CategoryModel( name=c0, origin_oj=origin_oj, ordinal=c0_count) c0.save() c0_count += 1 c1_count = 0 c0_temp = c0 else: c0 = c0_temp if c1: c1 = CategoryModel( name=c1, ordinal=c1_count) c1.parent = c0 c1.save() c1_count += 1 c2_count = 0 c1_temp = c1 else: c1 = c1_temp if c2: c2 = CategoryModel( name=c2, ordinal=c2_count) c2.parent = c1 c2.save() c2_count += 1 p_count = 0 c2_temp = c2 else: c2 = c2_temp if p: p = ProblemModel( origin_oj=origin_oj, problem_id=p, ordinal=p_count) p.category = c2 p.genera = c0 p.save() p_count += 1