Created
October 28, 2015 15:47
-
-
Save kharandziuk/c3299ff05ad68eeb1d1f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from django.core.management.base import BaseCommand | |
from core import choices, models, utils | |
MARKER = 'test_data' | |
class Command(BaseCommand): | |
args = 'filename' | |
def handle(self, *args, **options): | |
# superset: test | |
# set: dimensional | |
# width | |
# heigth | |
# depth | |
# set: package | |
# color | |
# size | |
# type | |
# set: other | |
# price | |
# origin | |
# set: group | |
# parent | |
# son1 | |
# son2 | |
models.Field.objects.all().delete() | |
models.Set.objects.all().delete() | |
models.SuperSet.objects.all().delete() | |
models.Measure.objects.all().delete() | |
models.MeasureUnit.objects.all().delete() | |
length_measure, _ = models.Measure.objects.get_or_create( | |
title='length', | |
# marker=MARKER, | |
) | |
models.MeasureUnit.objects.get_or_create( | |
title='m', | |
abbreviation='m', | |
measure=length_measure, | |
# marker=MARKER, | |
) | |
models.MeasureUnit.objects.get_or_create( | |
title='km', | |
abbreviation='km', | |
measure=length_measure, | |
# marker=MARKER, | |
) | |
#We have a expandable field group with map "categorySpecific.toy.toy.fabricCareInstructions" with two fields in it: | |
# "fabricCareInstruction" Text with map "fabricCareInstruction" | |
# expandable "measurement test volume" Measurable with map "measurementTestVolume" | |
simple_expandable_set, _ = models.Set.objects.get_or_create( | |
title="simple expandable group" | |
) | |
models.Field.objects.get_or_create( | |
title='simple measurement Test Volume', | |
set=simple_expandable_set, | |
value_type=choices.FIELD_TYPE.MEASURABLE_NEW, | |
measure=length_measure, | |
json_map='measurementTestVolume', | |
max_count=3, | |
) | |
expandable_set, _ = models.Set.objects.get_or_create( | |
title="expandable group" | |
) | |
expandable_parent_field, _ = models.Field.objects.get_or_create( | |
title='Fabric care instructions', | |
set=expandable_set, | |
value_type=choices.FIELD_TYPE.GROUP, | |
json_map='categorySpecific.toy.toy', | |
max_count=3, | |
) | |
models.Field.objects.get_or_create( | |
title='fabric Care Instruction', | |
set=expandable_set, | |
value_type=choices.FIELD_TYPE.TEXT, | |
parent=expandable_parent_field, | |
json_map='fabricCareInstructions', | |
max_count=3, | |
) | |
models.Field.objects.get_or_create( | |
title='measurement Test Volume', | |
set=expandable_set, | |
value_type=choices.FIELD_TYPE.MEASURABLE, | |
measure=length_measure, | |
parent=expandable_parent_field, | |
json_map='measurementTestVolume', | |
max_count=3, | |
) | |
for x in xrange(3): | |
group_set, _ = models.Set.objects.get_or_create( | |
title="for group{}".format(x), | |
) | |
parent_field, _ = models.Field.objects.get_or_create( | |
title='Parent{}'.format(x), | |
set=group_set, | |
value_type=choices.FIELD_TYPE.GROUP, | |
json_map='categoryData{}[type=test].json.grp'.format(x), | |
max_count=3, | |
) | |
models.Field.objects.get_or_create( | |
title='son1{}'.format(x), | |
set=group_set, | |
value_type=choices.FIELD_TYPE.TEXT, | |
parent=parent_field, | |
json_map='categoryData{}[type=test].json.grp.son1'.format(x) | |
) | |
models.Field.objects.get_or_create( | |
title='son2{}'.format(x), | |
set=group_set, | |
value_type=choices.FIELD_TYPE.TEXT, | |
parent=parent_field, | |
json_map='categoryData{}[type=test].json.grp.son2'.format(x) | |
) | |
son_with_measure, _ = models.Field.objects.get_or_create( | |
title='son with measure{}'.format(x), | |
set=group_set, | |
value_type=choices.FIELD_TYPE.MEASURABLE, | |
measure=length_measure, | |
parent=parent_field, | |
json_map='categoryData{}[type=test].json.grp.son3'.format(x) | |
) | |
expandable_parent_field, _ = models.Field.objects.get_or_create( | |
title='expandable Parent', | |
set=expandable_set, | |
value_type=choices.FIELD_TYPE.GROUP, | |
json_map='expandable.parent', | |
max_count=3, | |
) | |
models.Field.objects.get_or_create( | |
title='expandable son', | |
set=expandable_set, | |
value_type=choices.FIELD_TYPE.TEXT, | |
parent=expandable_parent_field, | |
json_map='expandable.parent.text', | |
max_count=3, | |
) | |
#utils.RemoveMarkerMixin.objects.filter( | |
# marker=MARKER | |
#).delete() | |
#dimensional, _ = models.Set.objects.get_or_create( | |
# title='dimensional', | |
# marker=MARKER | |
#) | |
#package, _ = models.Set.objects.get_or_create( | |
# title='package', | |
# marker=MARKER, | |
#) | |
#other, _ = models.Set.objects.get_or_create( | |
# title='other', | |
# marker=MARKER, | |
#) | |
#group, _ = models.Set.objects.get_or_create( | |
# title='group', | |
# marker=MARKER, | |
#) | |
#weigth_measure, _ = models.Measure.objects.get_or_create( | |
# title='weigth', | |
# marker=MARKER, | |
#) | |
#models.MeasureUnit.objects.get_or_create( | |
# title='mg', | |
# abbreviation='mg', | |
# measure=weigth_measure, | |
# marker=MARKER, | |
#) | |
#models.MeasureUnit.objects.get_or_create( | |
# title='g', | |
# abbreviation='g', | |
# measure=weigth_measure, | |
# marker=MARKER, | |
#) | |
#models.MeasureUnit.objects.get_or_create( | |
# title='kg', | |
# abbreviation='kg', | |
# measure=weigth_measure, | |
# marker=MARKER, | |
#) | |
#models.Field.objects.get_or_create( | |
# title='width', set=dimensional, | |
# value_type=choices.FIELD_TYPE.MEASURABLE, | |
# measure=length_measure, | |
# json_map='dimensional.width', | |
# marker=MARKER, | |
#) | |
#models.Field.objects.get_or_create( | |
# title='heigth', set=dimensional, | |
# value_type=choices.FIELD_TYPE.MEASURABLE, | |
# measure=length_measure, | |
# json_map='dimensional.heigth', | |
# marker=MARKER, | |
#) | |
#models.Field.objects.get_or_create( | |
# title='depth', set=dimensional, | |
# value_type=choices.FIELD_TYPE.MEASURABLE, | |
# measure=length_measure, | |
# json_map='dimensional.depth', | |
# marker=MARKER, | |
#) | |
#measure_length, _ = models.Measure.objects.get_or_create( | |
# title='measurementUnitLength', | |
# marker=MARKER, | |
#) | |
#models.MeasureUnit.objects.get_or_create( | |
# title='Meters', | |
# abbreviation='mtr', | |
# measure=measure_length, | |
# marker=MARKER, | |
#) | |
#models.MeasureUnit.objects.get_or_create( | |
# title='Kilometer', | |
# abbreviation='km', | |
# measure=measure_length, | |
# marker=MARKER, | |
#) | |
#for title in ('color', 'size', 'type',): | |
# models.Field.objects.get_or_create( | |
# title=title, set=package, | |
# value_type=choices.FIELD_TYPE.TEXT, | |
# measure=length_measure, | |
# json_map='{}.{}'.format(package.title, title), | |
# marker=MARKER, | |
# ) | |
#for title in ('price', 'origin',): | |
# models.Field.objects.get_or_create( | |
# title=title, set=other, | |
# value_type=choices.FIELD_TYPE.TEXT, | |
# measure=length_measure, | |
# json_map='{}.{}'.format(other.title, title), | |
# marker=MARKER, | |
# ) | |
#models.Field.objects.get_or_create( | |
# title='Why buys', set=other, | |
# input_count=5, | |
# marker=MARKER, | |
#) | |
#super_set = models.SuperSet.get_or_create( | |
# title='test', | |
# marker=MARKER, | |
#) | |
#super_set.sets.add( | |
# dimensional, group, other, package | |
#) | |
## self.create_profile_info_set() | |
self.get_ingredients() | |
## self.get_enumeration_data() | |
## self.get_many_per_lang() | |
def create_profile_info_set(self): | |
s, _ = models.Set.objects.get_or_create( | |
title='Profile info', | |
) | |
enumeration = models.Enum.get_or_create(title='legacy system') | |
models.EnumValue.get_or_create( | |
title='WALMART', code='WALMART', enum=enumeration | |
) | |
models.EnumValue.get_or_create( | |
title='KWIKEE', code='KWIKEE', enum=enumeration | |
) | |
models.Field( | |
title='Legacy System', | |
set=s, | |
enumeration=enumeration, | |
value_type=choices.FIELD_TYPE.ENUMERATION, | |
json_map='legacySystem', | |
) | |
def get_many_per_lang(self): | |
models.Field.get_or_create( | |
title='Many per lang', | |
set=models.Set(title='Many Per Lang Set'), | |
json_map='manyPerLang', | |
value_type=choices.FIELD_TYPE.MANYPERLANG, | |
) | |
def get_ingredients(self): | |
models.Field.objects.get_or_create( | |
title='Ingredients', | |
slug='ingredients', | |
set=models.Set.objects.get_or_create( | |
title='Ingredients' | |
)[0], | |
json_map='ingredients.ingredientStatement', | |
value_type=choices.FIELD_TYPE.INGREDIENTS, | |
is_multilingual=True, | |
) | |
def get_enumeration_data(self): | |
enumeration = models.Enum.objects.get_or_create( | |
title='super enum' | |
) | |
for val in ['one', 'two', 'three']: | |
models.EnumValue.objects.get_or_create( | |
title=val, enum=enumeration | |
) | |
models.Field.objects.get_or_create( | |
title='Field with enum', | |
set=models.Set.objects.get_or_create( | |
title='Set with Enum' | |
), | |
enumeration=enumeration, | |
value_type=choices.FIELD_TYPE.ENUMERATION, | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment