code: def build_components(components):
      
      component_list = []
  
      for comp in components:
          component = ea.Component()
  
          # id
          component.id = comp.get('id')
  
          # type
          component.type = comp.get('type')
  
          # asset, if available
          component.asset = comp.get('asset')
  
          # DOI
          component.doi = comp.get('doi')
  
          if component_title(comp) != '':
              component.title = component_title(comp)
  
          # Subtitle
          if comp.get('type') in ['supplementary-material', 'fig']:
  
              if comp.get('full_caption'):
                  subtitle = comp.get('full_caption')
                  subtitle = clean_abstract(subtitle)
                  component.subtitle = subtitle
  
          # Mime type
          if comp.get('type') in ['abstract', 'table-wrap', 'sub-article',
                                  'chem-struct-wrap', 'boxed-text']:
              component.mime_type = 'text/plain'
          if comp.get('type') in ['fig']:
              component.mime_type = 'image/tiff'
          elif comp.get('type') in ['media', 'supplementary-material']:
              if comp.get('mimetype') and comp.get('mime-subtype'):
                  component.mime_type = (comp.get('mimetype') + '/'
                                         + comp.get('mime-subtype'))
  
          # Permissions
          component.permissions = comp.get('permissions')
  
          # Append it to our list of components
          component_list.append(component)
  
      return component_list
docs: Given parsed components build a list of component objects