Skip to content

Instantly share code, notes, and snippets.

@kharandziuk
Created October 28, 2015 15:47
Show Gist options
  • Save kharandziuk/c3299ff05ad68eeb1d1f to your computer and use it in GitHub Desktop.
Save kharandziuk/c3299ff05ad68eeb1d1f to your computer and use it in GitHub Desktop.
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