Advertisement
Guest User

Untitled

a guest
Oct 25th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.45 KB | None | 0 0
  1.     def create_tags(cls, instance):
  2.         tag_meta = instance.tags_metadata
  3.         role_meta = instance.roles_metadata
  4.         for role, role_data in role_meta.items():
  5.             role_tags = role_data.get('tags')
  6.             if not role_tags:
  7.                 if role in tag_meta.keys():
  8.                     raise errors.InvalidData('Tag {} has not assign to role')\
  9.                         .format(role)
  10.                 tag_meta[role] = {
  11.                     'tag': role,
  12.                     'has_primary': role_data.get('has_primary', False),
  13.                     'public_ip_required':
  14.                         role_data.get('public_ip_required', False),
  15.                     'public_for_dvr_required':
  16.                         role_data.get('public_for_dvr_required', False)
  17.                 }
  18.                 role_data['tags'] = [role]
  19.                 role_meta.mark_dirty()
  20.             else:
  21.                 for tag in role_tags:
  22.                     if tag not in tag_meta.keys():
  23.                         raise errors.InvalidData('Missed metadata for tag {}')\
  24.                             .format(tag)
  25.  
  26.         for name, meta in six.iteritems(tag_meta):
  27.             data = {
  28.                 'owner_id': instance.id,
  29.                 'owner_type': consts.TAG_OWNER_TYPES.release,
  30.                 'tag': name,
  31.                 'has_primary': meta.get('has_primary', False),
  32.                 'read_only': True
  33.             }
  34.             Tag.create(data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement